jQuery中trigger()与triggerHandler()的执行顺序有何不同?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1500个文字,预计阅读时间需要6分钟。
本例介绍了jQuery事件模型。默认执行顺序是按触发顺序执行,而`trigger()`和`triggerHandler()`的比较如下:
前言:最近在工作中遇到了一个需要使用jQuery的情境。
需求背景:在开发一个动态表单时,需要实现当某个字段改变时触发验证。这个问题涉及到jQuery事件模型的执行顺序。
jQuery事件模型默认行为:
1.事件监听器按照注册顺序被调用。
2.当一个事件触发时,所有的事件监听器按照注册顺序依次执行。
trigger() 和 triggerHandler() 的比较:
1.`trigger()`:触发事件,所有事件监听器按照注册顺序依次执行。
2.`triggerHandler()`:触发事件,但只执行第一个事件监听器,并且不冒泡和不再绑定任何后续事件监听器。
实例:
假设有一个按钮,点击按钮时触发两个事件监听器:javascript$('#button').click(function() { alert('Event 1'); alert('Event 2');});- 使用 `trigger()` 触发按钮时,会先弹出一个Event 1,然后弹出一个Event 2。- 使用 `triggerHandler()` 触发按钮时,只会弹出一个Event 1,不会执行第二个事件监听器。本文共计1500个文字,预计阅读时间需要6分钟。
本例介绍了jQuery事件模型。默认执行顺序是按触发顺序执行,而`trigger()`和`triggerHandler()`的比较如下:
前言:最近在工作中遇到了一个需要使用jQuery的情境。
需求背景:在开发一个动态表单时,需要实现当某个字段改变时触发验证。这个问题涉及到jQuery事件模型的执行顺序。
jQuery事件模型默认行为:
1.事件监听器按照注册顺序被调用。
2.当一个事件触发时,所有的事件监听器按照注册顺序依次执行。
trigger() 和 triggerHandler() 的比较:
1.`trigger()`:触发事件,所有事件监听器按照注册顺序依次执行。
2.`triggerHandler()`:触发事件,但只执行第一个事件监听器,并且不冒泡和不再绑定任何后续事件监听器。
实例:
假设有一个按钮,点击按钮时触发两个事件监听器:javascript$('#button').click(function() { alert('Event 1'); alert('Event 2');});- 使用 `trigger()` 触发按钮时,会先弹出一个Event 1,然后弹出一个Event 2。- 使用 `triggerHandler()` 触发按钮时,只会弹出一个Event 1,不会执行第二个事件监听器。
