【发布时间】:2015-06-20 23:14:41
【问题描述】:
以下哪一项在性能等方面更好?为什么?
1. `$(document).on("click", "#id", function (e) { });`
2. `$("#id").on("click", function (e) { })`
3. `$("#id").die('click').live("click",function(e){ });`
4. `$("#id").live("click",function(e){ });`
如果我们使用事件委托会对性能产生什么影响?我正在寻找深入的解释。
【问题讨论】:
-
丢弃最后两个已弃用(和奇怪)的版本。然后在前两个之间 - 它们不一样,所以不应该比较。
-
前两个目的完全不同。取决于你如何操纵dom。 1.动态Dom 2.静态Dom。
-
它们都为 id 为 ID 的元素绑定了一个点击事件。我需要对它们进行完整的解释:-p
-
“我需要对所有这些都进行全面解释” - 那么你的问题对于这个网站来说太宽泛了。
-
有一个website 专门用于此类事情。您应该创建一个新的 perf review,然后使用几个不同的浏览器运行它。如果你想要一个解释,最好的办法是阅读文档(他们经常在那里提供一些细节)或阅读源代码并找出发生了什么差异。
标签: javascript jquery dom jquery-events event-binding