【问题标题】:Triggering Non-existent jQuery Events and Performance触发不存在的 jQuery 事件和性能
【发布时间】:2012-03-19 17:46:32
【问题描述】:

我有一些在 jQuery 中注册和触发自定义事件的 javascript - 我想知道的是,如果触发一个没有绑定事件处理程序的事件,会带来什么样的性能损失 - 例如:

var someData = ['blah', 'foo', 'bar'];
$('#somediv').trigger('StateChange', [someData]);

在上面的(非常短的)示例中,没有$('#someDiv').on('StateChange', ...) 事件处理程序,所以触发事件是一种浪费吗?如果我触发了 5-10 个事件,我会看到显着的性能下降吗?没有绑定处理程序的给定元素?

【问题讨论】:

  • 您是否分析过您的代码并发现这是一个问题点?记住优化的两条规则:1Don't do it2For experts only: Don't do it yet.
  • 啊,过早的优化...:P
  • "...我会看到显着的性能影响..." 显着吗?没有。

标签: javascript jquery


【解决方案1】:

不,对于 5-10 个对象,触发没有处理程序的事件不会对性能造成显着影响。

请记住,事件系统的意义在于您无需担心是否已为相关对象分配了请求行为的处理程序。这样您就可以随意触发事件而无需任何类型的测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多