jquery中的trigger和triggerHandler区别

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

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


triggerHandler( event, [data] )
这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作.
如果你对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发你绑定的动作:


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

下面用案例来描述一下区别 :
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>test</title> 
<script src="http://code.jquery.com/jquery-1.10.2.js"></script> 

</head> 
<body> 
<input type="checkbox" /> 
<input type="text" id="test"/> 
<input type="button" value="button" id="bnt" οnclick="bntClick()"/> 
</body> 

<script> 
$( document ).ready(function() { 
$("input[type='checkbox']").bind("click",function(){ 
$("#test").val("www.baidu.com"); 
}); 
}); 

function bntClick(){ 
$("input[type='checkbox']").trigger("click"); 
} 
</script> 
</html> 

当点击 checkbox的时候 checkbox勾上 并将input[type='text']赋值www.baidu.com 

当点击 input[type='button'] 的时候 就会发生跟点击checkbox同样的事情 

将trigger换成triggerHandler时候 当点击 input[type='button'] 的时候 就只会给input[type='text']赋值 而不会勾选checkbox 

triggerHandler 阻止了 绑定事件的元素的默认行为

转载来自:http://zhidao.baidu.com/link?url=_CQYl3erUaN9dFj4fkPt9NhJBm45M3jnwG0PuiUCcnnGvW1wjfJykRCDW2ZfsSLq33MrtfdURaQaz05nVyD0pyMFL5VQeRmGFQvHJGaAkuO


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值