Drupalメニューによって記述されたホバーイベントをオーバーライドしたい。Drupalによって記述されたコードを変更できないので、それを表示してオーバーライドする方法を知りたいです。
2 に答える
2
ページに含まれるJavaScriptを調べることで、コードがどのように機能するかを確認できます... DrupalのようなCMSでは、jQuery上にJavaScriptが構築されているため、このイベントが追加されている場所を正確に見つけようとすると、針を探すのと似ています。干し草の山で。
$('selector').off('eventName');基本的なケース(つまり、イベントハンドラーが要素に直接アタッチされている場合)では機能しますが、ハンドラーが祖先にバインドされている状況では機能しません。
これを修正する最も簡単な方法は、要素に独自のイベントを追加stopPropagation()し、祖先にバインドされているイベントハンドラーの起動を停止するために使用することです。
$('selector').off('eventName').on('eventName', function (e) {
e.stopPropagation();
});
...これの省略形は:falseの代わりに渡すことですfunction:
$('selector').off('eventName').on('eventName', false);
詳細については、を参照してくださいon()。
于 2012-12-24T16:16:04.813 に答える
0
オブジェクトを使用して、eventsオブジェクトに添付されているイベントを確認します。
$('selector').data('events')
または、jQueryイベントをまとめて削除することもできます。
$('selector').off('eventName');
于 2012-12-24T16:09:15.033 に答える