【发布时间】:2011-11-03 09:29:32
【问题描述】:
如果多个事件处理程序将响应一个事件,并且事件处理程序回调函数定义在不同的地方,我如何知道哪个处理程序将首先触发,例如检查on/off和radio时, radio绑定了几个handler,那么如何判断哪个会先执行呢?
【问题讨论】:
标签: javascript jquery
如果多个事件处理程序将响应一个事件,并且事件处理程序回调函数定义在不同的地方,我如何知道哪个处理程序将首先触发,例如检查on/off和radio时, radio绑定了几个handler,那么如何判断哪个会先执行呢?
【问题讨论】:
标签: javascript jquery
Javascript event handler order
如果你使用 JQuery 来绑定你的事件,它保证处理程序是 以与他们被绑定的相同顺序开火。否则顺序为 官方未定义。
如果你不能使用 JQuery 或类似的框架,你可以很容易地 通过使用您自己的自定义偶数绑定来模拟这一点,您的 通用处理程序是一个保存函数数组的函数,并且 按顺序调用它们。
【讨论】:
文档 -
绑定到该元素的该事件类型的所有处理程序都会被触发。如果注册了多个处理程序,它们将始终按照它们被绑定的顺序执行。执行完所有处理程序后,事件将沿着正常的事件传播路径继续。
【讨论】: