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

时间:2012-11-07 21:43:58

标签: javascript jquery javascript-events event-handling

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

例如在我的主.js文件中,我大概有十五个

$('body').on('click','.someElementClass',function(){
    someFunction();
});

有没有更好的方法来实现这个/最佳做法是什么?

编辑:' body'上面只是一个例子,我绑定到最深的元素我可以

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

  

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

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

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

正确的方法是将处理程序绑定到包含每个给定选择器的最深层嵌套容器。这样,每个处理程序仅针对页面内部的点击进行调用。

  

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

当然,这将取决于应用程序的要求,但使用上述方法将使多个处理程序的存在不再受到关注。