1

查看jQuery API 文档on(),将事件处理程序附件附加到$(document)而不是更具体有缺点吗?

$(document).on("click", "#dataTable tbody tr", function (event) {
  alert($(this).text());
}

对比

$("#dataTable tbody").on("click", "tr", function(event){
  alert($(this).text());
});

我可以看到绑定到的唯一可能的缺点$(document)是,如果整个站点都在使用 JS,则绑定到错误元素的可能性更大。不过,我发现$(document)版本的可读性稍微好一些。但是,是否有更充分的理由更喜欢一个而不是另一个?

这两个例子都在这个小提琴

4

2 回答 2

1

第二个更好,性能更快..您将事件委托给最近的静态父级,这总是比文档本身更好..因为它不必遍历所有元素和整个文档

于 2013-07-29T19:00:26.303 回答
0

表现。

尽管在页面加载后将附加事件处理程序的元素插入 DOM 的情况下,您会使用第一个。

于 2013-07-29T19:01:45.800 回答