jQuery 自动触发事件实例
有时候项目需求页面加载完后,需要模拟用户操作,自动点击按钮。jQuery中可以使用trigger()
方法模拟事件。
$(selector).trigger(event,[param1,param2,...])
event:必须,规定指定元素上要触发的事件。可以是自定义事件和标准事件。
param1,param2,...可选。传递到事件处理程序的额外参数。
额外的参数对自定义事件特别有用。
例如,模拟点击事件可以用以下的语句
$('#btn').trigger("click"); $('#btn').click();
但是,trigger()方法有一个问题,trigger() 方法触发被选元素上指定的事件以及事件的默认行为(比如表单提交)。某些情况下会带来一些不必要的后果,然而大多数的博客都都只说了trigger怎么用,没有讲会带来什么问题。
这里就需要介绍另外一个方法triggerHandler()
,triggerHandler() 不触发事件的默认行为。
trigger()与 triggerHandler() 方法相比的不同之处:
- 它不会引起事件(比如表单提交)的默认行为
- .trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素。
- 由 .triggerHandler() 创建的事件不会在 DOM 树中冒泡;如果目标元素不直接处理它们,则不会发生任何事情。
相关推荐
84483065 2020-09-11
85477104 2020-08-15
83510998 2020-08-08
tztzyzyz 2020-07-05
delmarks 2020-06-28
89510194 2020-06-27
牵手白首 2020-06-14
EdwardSiCong 2020-11-23
85477104 2020-11-17
hhanbj 2020-11-17
81427005 2020-11-11
seoppt 2020-09-13
honeyth 2020-09-13
WRITEFORSHARE 2020-09-13
momode 2020-09-11
82550495 2020-08-03
tthappyer 2020-08-03
84901334 2020-07-28