添加对类或单个元素的回调

时间:2013-08-22 14:23:26

标签: javascript jquery performance

我使用JQuery,我有一组按钮,所有按钮都有类btnClass。根据一些不断变化的情况,它们中的一些(或全部)会反复切换可见/不可见

我想在点击任何这些按钮时为click事件添加回调。我有两个选择:

  1. 使用类选择器静态和预先为所有这些回调添加回调:$(".btnClass").on("click", function(e) { ... });
  2. 或者当切换按钮时,动态和单独添加回调:btn.toggle(true).on("click", function(e) { ... });
  3. 性能明智,这更好,为什么?还有其他方法比两者都好吗?

1 个答案:

答案 0 :(得分:3)

性能方面,请使用事件委派。与其中任何一个选项相比,它将具有更好的性能,因为单个处理程序仅在已知和现有父元素上附加一次。

.on()文档中提供的示例类似:

$("#wrapper").on("click", ".btnClass:visible", function(event){
  alert($(this).text());
});