C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

trigger(event, [data]) 与 triggerHandler(event, [data]) 都是用于触发一个事件。

其两者的区别在于,如果触发的事件是有浏览器默认行为的,trigger会触发浏览器默认行为,而triggerHandler不会。

简单来说,如果你要触发一个Form表单的submit事件。那么使用trigger,表单也会提交。而使用triggerHandler表单是不会提交的。

当然,如果你触发的是自己的自定义事件,都是没有浏览器默认行为的事件,那么两者效果其实一样。

<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>trigger与triggerHandler的区别</title> 
<script src="http://code.jquery.com/jquery-1.10.2.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function(){
    $('#btnTrigger').click(function(){
      $("#ck1").trigger('click');    //触发浏览器默认行为,会选中
    })

    $('#btnTriggerHandler').click(function(){
      $("#ck1").triggerHandler('click');    //没有浏览器默认行为,不会选中
    })
})
</script> 
</head> 
<body> 
  <input type="checkbox" id="ck1" /> 
  <input type="button" value="btnTrigger" id="btnTrigger" />
   <input type="button" value="btnTriggerHandler" id="btnTriggerHandler" />
</body> 
</html> 
posted on 2016-04-22 18:29  逆心  阅读(559)  评论(0编辑  收藏  举报