下拉切换不在事件处理程序中工作

时间:2014-07-01 21:26:00

标签: javascript jquery twitter-bootstrap drop-down-menu

我正在使用twitter bootstrap创建一个基本的下拉菜单。当我点击打开下拉菜单的按钮时,一切正常。

问题是,当我尝试通过单击页面上的其他元素来切换下拉列表时(我需要此功能)

$(document).on("click", ".drop-toggle", function(e) {
    console.log("working");
    $(".btn-group").toggleClass("open");
});

我可以看到控制台消息,但没有任何反应。

当我打电话时

$(".btn-group").toggleClass("open");

它可以工作,但它不能从事件处理程序中工作。有什么想法吗?

http://jsfiddle.net/P2RnW/

1 个答案:

答案 0 :(得分:1)

您需要停止事件传播。

$(document).on("click", ".drop-toggle", function(e) {
    e.stopPropagation();
    $(".dropdown-menu").dropdown("toggle");
});

更新小提琴:http://jsfiddle.net/P2RnW/1/