我使用 JQuery,并且我有一个按钮集合,所有这些按钮都有类 btnClass
。其中一些(或全部)会根据某些变化的条件重复切换可见/不可见。
我想在单击任何这些按钮时向单击事件添加回调。我有两个选择:
- 使用类选择器静态地预先向所有这些添加回调:
$(".btnClass").on("click", function(e) { ... });
- 或者当按钮切换可见时动态地单独添加回调:
btn.toggle(true).on("click", function(e) { ... });
<
就性能而言,哪个更好,为什么?还有其他方法比这两种方法更好吗?
最佳答案
就性能而言,请使用事件委托(delegate)。与这两个选项相比,它具有更好的加载性能,因为单个处理程序仅在已知且现有的父元素上附加一次。
类似于 .on()
中提供的示例文档:
$("#wrapper").on("click", ".btnClass:visible", function(event){
alert($(this).text());
});
关于javascript - 向类或单个元素添加回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383192/