<!DOCTYPE html><html><head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <style> .left div, .right div { width: 500px; height: 50px; padding: 5px; margin: 5px; float: left; border: 1px solid #ccc; } .left div { background: #bbffaa; } .right div { background: yellow; } </style> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script></head><body><h2>自定义事件triggerHandler</h2><div class="left"> <div id="accident"> <a>triggerHandler事件</a> <input type="text"> </div> <button>事件冒泡,触发浏览器默认聚焦行为</button><br><br> <button>不会冒泡,不触发浏览器默认聚焦行为</button></div><script type="text/javascript"> //给input绑定一个聚焦事件 $("input").on("focus",function(event,title) { $(this).val(title) }); $("#accident").on("click",function() { alert("trigger触发的事件会在 DOM 树中向上冒泡"); }); //trigger触发focus $("button:first").click(function() { $("a").trigger("click");//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!这个位置!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $("input").trigger("focus","666"); }); //triggerHandler触发focus $("button:last").click(function() { $("a").triggerHandler("click"); $("input").triggerHandler("focus","没有触发默认聚焦事件"); });</script></body></html>
1 回答
qq_时光隧道_0
TA贡献6条经验 获得超1个赞
jQueryObject.trigger( eventObject [, extraArguments ] )
为指定事件处理函数传入的Event对象(eventObject),用于触发执行对应的事件处理函数,并可为事件处理函数传入额外的参数(extraArguments)。
events String类型指定的事件类型和可选的命名空间,例如"click"、 "focus"、 "keydown.myPlugin"。
extraArguments 可选/Object类型为事件处理函数传入的额外参数。如果要传入多个参数,请以数组方式传入。
eventObject Object类型一个Event对象,用于触发传入该对象的事件处理函数。
trigger()函数会为触发执行的事件处理函数传入一个默认参数,也就是表示当前事件的Event对象。
参数extraArguments用于为事件处理函数传入更多额外的参数。如果extraArguments是数组形式,则每个元素都将充当函数的参数。
添加回答
举报
0/150
提交
取消