2011-11-03 59 views
4

如果有多个事件处理程序会响应一个事件,并且事件处理程序的回调函数是在不同的地方定义的,那么我怎样才能知道哪个处理程序会先触发,例如,当检查on/off a radio时,radio绑定了多个处理程序,那么如何判断哪一个会先执行?如何确定在JavaScript或jQuery中触发事件处理程序的顺序?

+0

可能重复的[Javascript事件处理程序顺序](http://stackoverflow.com/questions/5143817/javascript-event-handler-order) –

+0

请参阅此处的答案:http://stackoverflow.com/questions/2706109 /是,事件处理程序,在JavaScript的所谓-有序 –

回答

1

Javascript event handler order

如果你使用jQuery来绑定你的事件,它保证了处理程序 以相同的顺序,他们被束缚解雇。否则订单是 官方未定义。

如果您不能使用JQuery或类似的框架,你可以很容易地 使用自己的自定义甚至绑定,你的 通用处理器是保持的功能的阵列和 按照顺序调用它们的函数模拟此。

0

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

相关问题