1

使用关于这个问题的精彩(但残忍地不被接受)帖子:列出使用 jquery 在页面上连接的所有 javascript 事件我发现可以查询jQuery 事件缓存以读取连接的事件,它们是什么连线到等等。

我还有 Visual Event,这是一个将事件绑定叠加到屏幕上实际 HTML 元素上的小书签。

我现在需要 - 测试连接在我的页面上的事件的影响,是从字面上解绑,杀死,死亡(等) jQuery 知道的每一个事件 - 但这似乎很难在不知道所有的情况下实现上下文(例如选择器、处理程序) - 原因是测试“一般”页面性能、填写表单、滚动、折叠/展开内容等等。

我可以“滚动我自己的”脚本来执行此操作,使用我在上面发布的问题中的脚本来获取所有项目然后删除它们 - 但我不确定这是否可能,或者最好的解决方法它 - 我希望我通过提出这个建议来重新发明一个预先存在的轮子。

我真正想要/需要的是:

  $(document).removeAllEventsThatAreWiredUpToAnything();

...但我知道它不存在。

是否有捷径可寻?禁用 JavaScript 并不是一个真正的选择,因为我的页面是用加载时触发的 ajax 调用构建的,所以它不会是一个有用的测试。

非常乐意采取/接受解决方案而不是直接回答 - 只需要以最快的方式收集对事件过度使用的性能影响的一些了解。

问候-SB

4

1 回答 1

2

这:

$('*').unbind();

将取消绑定所有元素的所有事件类型。

于 2011-10-12T08:09:11.370 回答