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

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • NYLON Video

    NYLON Video

    11 Aralık 2006