sha*_*unc 4 javascript jquery addeventlistener
在我记忆中,在纯W3C事件模型中(也就是说,使用addEventListener),无法保证将按照已附加的顺序调用事件处理程序.
怎么样的jQuery事件模型.我可以依赖附加事件的顺序吗?回答时要小心,因为实际上这里有三个选项,而不是两个:
如果你通过jQuery附加处理程序,它们将按照它们附加的顺序被触发.这在bind方法中记录:
当事件到达元素时,将触发绑定到该元素的该事件类型的所有处理程序.如果注册了多个处理程序,它们将始终按照绑定的顺序执行.在执行所有处理程序之后,事件沿着正常事件传播路径继续.
你是正确的,DOM事件规范没有定义事件处理程序的任何顺序(链接),事实上大多数浏览器都是单向的,IE则是另一种方式.保证顺序是jQuery为你做的事情(通过每个元素每个事件只附加一个处理程序 - 它自己的 - 然后自己调度到通过jQuery附加的真实处理程序).当然,这意味着没有定义jQuery附加处理程序作为块被调用的顺序与以另一种方式附加的处理程序相关.
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |