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

  • 365multimedia

    365multimedi

    26 ŞUBAT 2009
  • Matthew Morrill

    Matthew Morr

    15 EKİM 2011
  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006