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 に答える