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 阻止了 綁定事件的元素的默認行為