有多少javascript事件处理程序太多?

有多少javascript事件处理程序太多?,javascript,jquery,javascript-events,event-handling,Javascript,Jquery,Javascript Events,Event Handling,我正在编写一个PHP/jQuery应用程序,我想知道有多少事件处理程序太多了 例如,在我的main.js文件中,我大约有15个 $('body').on('click','.someElementClass',function(){ someFunction(); }); 有没有更好的方法来实现这一点/最佳实践是什么 编辑:上面的“body”只是一个例子,我将绑定到我能绑定到的最深元素如果您的应用程序符合性能要求,那么它不会太多。如果没有,那就太多了。那很简单 “有没有更好的方法来实现

我正在编写一个PHP/jQuery应用程序,我想知道有多少事件处理程序太多了

例如,在我的main.js文件中,我大约有15个

$('body').on('click','.someElementClass',function(){
    someFunction();
});
有没有更好的方法来实现这一点/最佳实践是什么


编辑:上面的“body”只是一个例子,我将绑定到我能绑定到的最深元素

如果您的应用程序符合性能要求,那么它不会太多。如果没有,那就太多了。那很简单

“有没有更好的方法来实现这一点/最佳实践是什么?”

是的,有更好的办法。现在,您正在将所有单击活动绑定到单个容器

这意味着每次单击页面时都需要调用每个
.someElementClass
,实际上是多次调用,因为事件会冒泡

正确的方法是将处理程序绑定到包含每个给定选择器的嵌套最深的容器。这样,每个处理程序只在页面的该部分内进行单击时被调用

“我想知道有多少事件处理程序太多了?”


当然,这将取决于应用程序的要求,但使用上述方法将减少对多个处理程序的关注。

如果您的DOM不会在整页加载之间更改
$('.someElementClass')。单击(fn)
会更快。我来这里是问同样的问题,所以我不同意“关闭为非建设性”。谢谢你的邀请!编辑了我原来的帖子。我要尽可能地结合最深层的元素,身体只是一个例子。@Nick:那将从根本上改变这个问题。