我在ASP.NET WebForms应用程序中大量使用jQuery来处理任何非应用程序关键的客户端(例如,即时验证,动画,一般的漏洞和漂亮的东西)。
在此解决方案中,我使用的是更新面板,因此主页很少刷新。因此,事件侦听器可以绑定每个异步回发。
.off
删除当时我不知道活动的元素上的事件侦听器是否有任何好处?.off
).on
等高级元素时,我应该解除绑定(body
)吗?在单个网页的生命周期中多次绑定和解除绑定的场景中,处理(如果需要)未使用的事件侦听器的最佳方法是什么?
如果您有任何测试显示浏览器是否因为众多事件监听器而变慢,请告知我们。如果有人拥有它们,那么经验证的数字将是完美的。
答案 0 :(得分:-1)
离开非活动事件监听器肯定会对性能产生负面影响。关闭不必要的事件监听器绝对是一种更好的做法。
我还建议您在绑定事件侦听器时使用范围,例如
$(".demo").on("click.test", function(){ ... });
在这里,我使用click
确定了test
事件的范围,以便在我这样做时
$(".demo").off("click.test");
任何其他具有点击监听器的演示类都不会被关闭。