JQuery Bootstrap Multiselect动态绑定事件处理器
JQuery Bootstrap Multiselect dynamically bind event handler
我使用JQuery引导多选从这里:https://github.com/davidstutz/bootstrap-multiselect
它的工作完美,但我想动态地添加事件处理程序后,multiselect已经初始化,例如:
$("selector").multiselect();
....
$("selector").bind('onDropdownShown', function(event) {
...
}
我可以在插件初始化时添加这样的处理程序(第1行),但对我来说,在代码的另一部分动态地完成它是很重要的。
我自己找到了解决办法。
让我们这样初始化多选:
$('selector').multiselect({
onDropdownShow: function(event) {
$(event.currentTarget).trigger("multiselectshow", event);
}
});
其中multiselectshow
是一个自定义事件,专门为这种情况声明。
然后,在需要定制反应的文档中,让我们声明这样的事件处理程序:
$(document).on("multiselectshow", function(event) {
console.log("Success!");
});
该解决方案允许在初始化行之外为任何插件的内置事件实现自定义处理程序,并且是官方文档和Web中描述的唯一方法的替代方案。
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- dropdown.js中的复杂事件处理
- 在循环中附加事件处理程序时出现浏览器性能问题
- 在同一个javascript事件处理程序中调用不同的函数
- 复选框,然后单击事件处理
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 检查事件处理程序参数
- 实现延迟的jquery更改事件处理程序
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 如何使jQuery的“bind”或“on”事件处理程序幂等
- 带有参数的Javascript事件处理程序
- Jquery事件处理程序仅适用于匿名函数
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 如何在 JavaScript 代码中调试点击事件处理
- 如何在jQuery事件处理程序中存储和重用超时
- 存储一个事件处理程序中的变量以供另一个事件处理器使用
- 如何将一个事件处理程序的数组对象作为javascript中的输入提供给另一个事件处理器