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 阻止了 绑定事件的元素的默认行为
示例
trigger
jQuery