0

ドロップダウンメニューを生成するためにbootstrap-dropdownを使用しています。
jQuery.offを使用して、いくつかのデフォルトの動作を無効にしたいと思います。

1)すべての要素ではなく、特定の要素でドロップダウンメニューの非表示を無効にするにはどうすればよいですか?
2)すべての要素ではなく、特定の要素でメニューの表示を無効にするにはどうすればよいですか?

次のコードを使用することで、すべてのドキュメントではなく、特定の要素にこの動作を適用したいという目標を達成しました。

$('html').off('click.dropdown'); // it disable the disappear of Dropdown menu.
$('body').off('click.dropdown'); // it disable  the appearing of Dropdown menu. 
// Why this differance?

。</p>

これは、コードをテストするためのjsfiddleリンクです。jsfiddleを作成してくれた@mervに感謝します。

4

2 に答える 2

2

このoff()メソッドを使用できるのは、すでにバインディングがある特定の要素のバインディングを無効にする場合のみです。指摘する$('html').off()際に、私は単にドロップダウンメニューを自動閉じる唯一のバインディングがそこにアタッチされていることを実証しようとしていました。

htmlそれ以外の場合は、ドロップダウンメニューの要素に新しいバインディングを追加して、クリックイベントが要素にバブリングするのを防ぐことができます。

$('.dropdown-menu').on('click.dropdown', function(e) {e.stopPropagation()})​​​​​

JSFiddle

于 2012-07-31T16:38:40.547 に答える
1
$(".disabled-link").click(function(event) {
  event.preventDefault();
});​

作業したくないドロップダウンに「disabled-link」クラスを追加します

于 2012-07-31T16:20:43.450 に答える