jquery中的trigger和triggerHandler区别

来源:互联网 发布:新申请域名无法访问 编辑:程序博客网 时间:2024/05/17 22:42
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" onclick="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
原创粉丝点击