相关疑难解决方法(0)

事件捕获jQuery

我需要捕捉一个事件,而不是让它冒泡.这就是我要的:

<body>
   <div>
   </div>
</body>
Run Code Online (Sandbox Code Playgroud)

从这个示例代码中,我在div和body上有一个click事件.我希望首先调用body事件.我该怎么做?

javascript jquery

17
推荐指数
1
解决办法
3万
查看次数

避免与将大量DOM对象绑定到click事件相关的内存或性能问题的最佳实践

首先,我正在使用Chrome Dev Tools测试各种方法,但我不认为自己在今天的现代浏览器中使用JS是"专家"的,所以我正在寻找额外的反馈来赞美我的测试.

我有一个页面,通常有600多个元素需要处理点击事件.我可以想到至少3种不同的方法来解决这个问题,但我正在考虑页面大小,速度,JS内存问题,与对象计数相关的问题(在性能和稳定性方面).

  1. 包括onClick ="foo(this);" 对于每个元素,并在我包含的.js文件中定义函数. - 更大的页面,函数定义一次,我认为JS的内存占用量更小,但整个页面的内存更大.
  2. 使用jQuery和$(selector).click(foo(this)); - 较小的页面,函数定义一次,我认为JS的内存占用量更大,但整体页面更小.
  3. 使用jQuery和$(selector).click(function(this){}); - 最小的页面,功能定义一次,但我希望这是内存方面最苛刻的(我担心我可能会遇到jQuery或JS作为一个整体的一些模糊的问题)但概念上最优雅.

我必须支持几乎所有可能期望jQuery运行的浏览器.项目数量可能会增加更多(可能是4或5倍).

如果有另一种方法会更好,我很乐意听到它.如果有人想教我三种方法的任何优点/缺陷,我也非常感激.

javascript jquery dom

4
推荐指数
1
解决办法
1210
查看次数

标签 统计

javascript ×2

jquery ×2

dom ×1