【问题标题】:how to determine the order of being triggered of a event handler in javascript or jquery?如何确定javascript或jquery中事件处理程序的触发顺序?
【发布时间】:2011-11-03 09:29:32
【问题描述】:

如果多个事件处理程序将响应一个事件,并且事件处理程序回调函数定义在不同的地方,我如何知道哪个处理程序将首先触发,例如检查on/offradio时, radio绑定了几个handler,那么如何判断哪个会先执行呢?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

Javascript event handler order

如果你使用 JQuery 来绑定你的事件,它保证处理程序是 以与他们被绑定的相同顺序开火。否则顺序为 官方未定义。

如果你不能使用 JQuery 或类似的框架,你可以很容易地 通过使用您自己的自定义偶数绑定来模拟这一点,您的 通用处理程序是一个保存函数数组的函数,并且 按顺序调用它们。

【讨论】:

    【解决方案2】:

    文档 -
    绑定到该元素的该事件类型的所有处理程序都会被触发。如果注册了多个处理程序,它们将始终按照它们被绑定的顺序执行。执行完所有处理程序后,事件将沿着正常的事件传播路径继续。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多