关于jquery.off和下拉菜单

时间:2012-07-31 16:16:05

标签: javascript jquery twitter-bootstrap

我正在使用bootstrap-dropdown生成下拉菜单 我想通过使用jQuery.off禁用一些默认行为。

1)如何禁用特定元素上的Dropdown菜单消失而不是所有元素?
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?

这是测试代码的jsfiddle链接。 感谢@merv制作jsfiddle。

2 个答案:

答案 0 :(得分:2)

您只能使用off()方法禁用对已绑定的特定元素的绑定。在指出$('html').off()时,我只是试图证明自动关闭下拉菜单的唯一绑定附加在那里。

否则,您可以在下拉菜单中为元素添加新绑定,以阻止点击事件冒泡到html元素:

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

JSFiddle

答案 1 :(得分:1)

$(".disabled-link").click(function(event) {
  event.preventDefault();
});​

将“disabled-link”类添加到您不想使用的任何下拉列表中