SORU
27 Ocak 2013, Pazar


Nasıl stopPropagation için AngularJS bir Direktif yapabilir miyim?

"Twitter Bootstrap önlemek için" li içinde bir öğe (link) tıklandığında kapanmasını açılan gezinti çubuğu. stopPropagation için çalışıyorum Bu yöntemi kullanarak 8* *ortak gibi görünüyor.

Açısal olarak, bir Direktif bunu yapmak için bir yer gibi görünüyor? Var:

// do not close dropdown on click
directives.directive('stopPropagation', function () {
    return {
        link:function (elm) {            
            $(elm).click(function (event) {                
                event.stopPropagation();
            });
        }
    };
});

... ama yöntemi elemana ait değil:

TypeError: Object [object Object] has no method 'stopPropagation'

Yönetmelikte ben kravat ile

<li ng-repeat="foo in bar">
  <div>
    {{foo.text}}<a stop-propagation ng-click="doThing($index)">clickme</a>
  </div>
</li>

Herhangi bir öneriniz var mı?

CEVAP
27 Ocak 2013, Pazar


"Şu anda bazı direktifler (örneğin ng:tıklayın) olay yayılmasını durdurur. Bu birlikte çalışabilirlik gibi olayları yakalamak kullanan diğer çerçeveler ile engeller."- link

... ve bir Direktifi olmadan düzeltmek için mümkün olduğunu, ve sadece yapmak:

<a ng-click="doThing($index); $event.stopPropagation();">x</a>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • L33TNoonProductions

    L33TNoonProd

    24 EYLÜL 2010
  • newreleaseblitz

    newreleasebl

    13 Ocak 2010
  • Trulia

    Trulia

    29 Kasım 2006