jQuery插件阻止.on(单击)行为
期望的行为 我想在单击下拉列表时触发一个操作 当前行为 该操作仅在第二次单击Selectric下拉列表时发生 复制步骤 01)在Firefox中,启用Firebug后,转到: (它正在运行该脚本的v1.8.5版-与我使用的版本相同) 02)将其添加到Firebug中的控制台并运行:jQuery插件阻止.on(单击)行为,jquery,jquery-on,Jquery,Jquery On,期望的行为 我想在单击下拉列表时触发一个操作 当前行为 该操作仅在第二次单击Selectric下拉列表时发生 复制步骤 01)在Firefox中,启用Firebug后,转到: (它正在运行该脚本的v1.8.5版-与我使用的版本相同) 02)将其添加到Firebug中的控制台并运行: $(document).on("click",".selectric:first", function () { console.log("hello world!"); }); 03)单击第一个selectri
$(document).on("click",".selectric:first", function () {
console.log("hello world!");
});
03)单击第一个selectric下拉列表的标签(不会发生任何情况)
04)当下拉列表仍然打开时,再次单击它并“你好,世界!”!“将打印到控制台
因此,似乎正在发生的是,插件正在阻止on()
方法第一次启动
有什么方法可以防止这种情况发生吗?您可以将代码放在第347行的_open函数中。我不明白为什么e.stopPropagation()会发生这种情况在第352行停止您的事件处理程序您能生成JSFIDLE吗?我在任何CDN上都找不到插件的最新版本,因此无法在JSFIDLE上包含脚本。将您拥有的任何插件代码粘贴到FIDLE中,或者将其放在服务器上并链接进去……我怀疑这是插件在某些情况下需要停止传播的问题ons。您可能应该使用selectric事件,因为它实际上是在SelectElement本身上触发的,这要感谢奇妙的修复。