今天偶尔使用到了trigger,当我在网上看他的说明的时候也挺明白,后来看了一片关于他的文章,说
虽然为元素绑定了某些事件, 比如click, 但是有时希望在程序中触发这些事件, 这两个函数
可以实现此功能.主要区别是trigger会出发浏览器默认的动作, 而triggerHandler不会出发.
当单击".trigger"按钮时, 会调用两次Focesed, 并且input元素获得了焦点:
单击".triggerHandler"按钮时, 只调用一次,并且input元素没有获得焦点:经过,代码测试(jquery-1.7.1.min.js)发现,两个操作都是调用一次,区别是:trigger选中了一些input标中的value值,而triggerHandler没有选中input标签中的数据(不知道是不是jquery版本的问题)
测试的区别是:trigger会选中数据,triggerHandler不会选中数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery事件处理:trigger和triggerHandler示例</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$(function(){
$(‘#old‘).click(function(){
$("#divResult").html(‘‘);
$("input").trigger(‘focus‘);
});
$(‘#new‘).click(function(){
$("#divResult").html(‘‘);
$(‘input‘).triggerHandler(‘focus‘);
});
$("input").focus(function() { $("<span>Focused!</span>").appendTo("#divResult"); });
});
</script>
</head>
<body>
<button id="old">
.trigger("focus")</button>
<button id="new">
.triggerHandler("focus")</button><br />
<br />
<input type="text" value="To Be Focused" />
<div id="divResult"></div>
</body>
</html>本文出自 “追梦” 博客,请务必保留此出处http://dreameng.blog.51cto.com/1187899/1364424
trigger & triggerHandler,布布扣,bubuko.com
原文:http://dreameng.blog.51cto.com/1187899/1364424