2014-11-02 115 views
1

我正在使用bootstrap editor jquery plugin。我试图设置一个事件侦听器来添加超链接按钮,但只有当它旁边的文本输入为空时触发,否则它不会触发。这是我的jsfiddle。我的代码:单击事件不总是触发

$('.dropdown-menu button').on('click', function() { 
     alert("ADD clicked"); 
    }); 

要测试jsfiddle,简单的选择一些文本,然后按添加不输入URL。 然后,再次选择文本,输入一个URL并按下add,不显示alert()。

任何想法为什么会发生这种情况?

回答

2

东西在这条线正在改变行为是有原因的,我不能现在看到的:

$(this).parent('.dropdown-menu').siblings('.dropdown-toggle').dropdown('toggle'); 

如果你删除它,似乎工作,所以,在下拉列表中的东西(我猜)是做什么对您错误

+1

+1引导程序库充满了对'event'对象的'stopPropagation()'和'preventDefault()'方法的调用。这很难遵循,但是其中一个好处是,当输入获取值时,其中一个捕获添加按钮的单击事件,并防止触发您的自定义事件处理程序。 – 2014-11-02 23:44:33