2016-07-12 11 views
0

角度JS、1.5.3を使用してtypescriptで記述された指示文があります。角度とjqueryなどを読み込むためにwebpackを使用しています。 jqueryliteの代わりに完全なJQuery。角度要素JQuery .onコマンドが正しく機能しない

ただし、次のスニペットでは、私のelement.onはイベントでトリガーされません。しかし、同じことをするためにjqueryを別々に使用するだけで動作します。

すなわちコンソールのみプリントが両方element

function DropdownCloseHandler(): ng.IDirective { 
    return { 
    restrict: 'A', 
    link: (scope, element, attrs) => { 
     element.on('hidden.bs.dropdown', (e) => { 
     console.log('hit me'); 
     }); 
     $('#search-box-dropdown').on('hidden.bs.dropdown', (e) => { 
     console.log('hit me instead'); 
     }); 
    } 
    }; 
} 

angular 
    .module('components') 
    .directive('dropdownClose', DropdownCloseHandler); 

「の代わりに私を襲った」と$('#search-box-dropdown')は私のクロムデバッガで同じ要素を参照するように見えます。

chrome debugger info

誰もが私が間違っているかもしれないものの任意のアイデアを持っていますか?

答えて

0

私の経験では、.onを使用すると、documentにバインドする必要があります。

だから、私が使用します。

$(document).on('hidden.bs.dropdown', (e) => { 
    console.log('hit me'); 
}); 

を私はしかし、角度とそれを使ったことがないと私はそれを動作させるために何の行動を見ていません。しかし、まずそれを試して?

+0

jqueryセレクタを使用するのと同じではありませんか? $( '#search-box-dropdown')。も同様に動作しますが、要素自体に指示文を渡して、要素に指示文を付けるという全目的に反します。 – Kyle

関連する問題