当前位置:百问九>百科知识>Jquery中trigger和triggerHandler的区别

Jquery中trigger和triggerHandler的区别

2024-06-03 13:49:15 编辑:zane 浏览量:546

Jquery中trigger和triggerHandler的区别

trigger( event, [data] )

在每一个匹配的元素上触发某类事件。这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个’submit’,则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。

也可以触发由bind()注册的自定义事件

$("p").click( function (event, a, b) {

// 一个普通的点击事件时,a和b是undefined类型

// 如果用下面的语句触发,那么a指向"foo",而b指向"bar"

} ).trigger("click", ["foo", "bar"]);triggerHandler( event, [data] )

这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作.

如果对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发绑定的动作:

.trigger("focus")

.triggerHandler("focus")

$(function(){

$("#old").click(function(){

$("input").trigger("focus");

});

$("#new").click(function(){

$("input").triggerHandler("focus");

});

$("input").focus(function(){

$("Focused!").appendTo("body").fadeOut(1000);

});

});

首先trigger 和triggerHandler都是模拟事件发生的。

trigger():触发被选元素上指定的事件以及事件的默认行为(比如表单提交)。

triggerHandler():只触发被选元素的指定事件,不触发默认事件。

两者区别:(1)triggerHandler不触发事件的默认事件

(2)triggerHandler只触发所有匹配元素中第一个元素的事件

(3)triggerHandler不支持事件冒泡

俩个事件的意思都是

在每一个匹配的元素上触发某类事件

区别是,triggerHandler 阻止了 绑定事件的元素的默认行为

版权声明:文章由 百问九 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.baiwen9.com/article/357382.html
热门文章
二维码