小白教程
所有教程
关于
Search
172.70.178.188
172.70.178.188
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Event triggerhandler”的源代码
本页内容
上一节:
Event_trigger
下一节:
Event_unbind
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:triggerHandler()}}[[Category:jquery ref events|55]] = jQuery triggerHandler() 方法 = [[jquery ref events|jQuery 事件方法]] 触发 <input> 元素的 select 事件: <sample title="" desc="" lang="html" hererun="1"> $("button").click(function(){ $("input").triggerHandler("select"); }); </sample> <run name=""> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>小白教程(xiaobai.wang)</title> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("input").select(function(){ $("input").after("select 事件触发!"); }); $("button").click(function(){ $("input").triggerHandler("select"); }); }); </script> </head> <body> <input type="text" value="Hello World"> <br><br> <button>触发输入框的 select 事件</button> <p>该方法与 trigger() 方法类似,不同的是 trigger() 也触发事件的默认行为(比如表单提交)。</p> </body> </html> </run> == 定义和用法 == triggerHandler() 方法触发被选元素上指定的事件。 该方法的返回的是事件处理函数的返回值,而不是具有可链性的 jQuery 对象。此外,如果没有处理程序被触发,则这个方法返回 undefined。 该方法与 [[event trigger|trigger()]] 方法类似,不同的是 trigger() 也触发事件的默认行为(比如表单提交)。 与 trigger() 方法相比的不同之处: * 它不会引起事件(比如表单提交)的默认行为 * .trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素。 * 由 .triggerHandler() 创建的事件不会在 DOM 树中冒泡;如果目标元素不直接处理它们,则不会发生任何事情。 triggerHandler() 与 .trigger() 比较: <sample title="" desc="" lang="html" hererun="1"> $( "#old" ).click(function() { $( "input" ).trigger( "focus" ); }); $( "#new" ).click(function() { $( "input" ).triggerHandler( "focus" ); }); $( "input" ).focus(function() { $( "<span>Focused!</span>" ).appendTo( "body" ).fadeOut( 1000 ); }); </sample> <run name=""> <!doctype html> <html> <head> <meta charset="utf-8"> <title>triggerHandler demo</title> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> </head> <body> <button id="old">.trigger( "focus" )</button> <button id="new">.triggerHandler( "focus" )</button><br><br> <p>执行 .trigger 后 input 输入框自动获取焦点,触发事件的默认行为,而 .triggerHandler 仅仅 执行了指定的事件浏览器并未执行动作,输入框也没有获取焦点。</p> <input type="text" value="将获取焦点"> <script> $( "#old" ).click(function() { $( "input" ).trigger( "focus" ); }); $( "#new" ).click(function() { $( "input" ).triggerHandler( "focus" ); }); $( "input" ).focus(function() { $( "<span>获取焦点!</span>" ).appendTo( "body" ).fadeOut( 1000 ); }); </script> </body> </html> </run> == 语法 == <pre> $(selector).triggerHandler(event,param1,param2,...) </pre> {| class="table table-striped table-hover" ! 参数 ! 描述 |- | event | 必需。规定指定元素上要触发的事件。 |- | param1,param2,... | 可选。传递到事件处理程序的额外参数。额外参数对自定义事件特别有用。 |} == 更多实例 == [[try.php?filename=tryjquery_event_triggerhandler_param|传递额外参数到自定义事件]] 如何传递额外参数到自定义事件处理程序。 [[try.php?filename=tryjquery_event_triggerhandler_trigger|trigger() 和 triggerHandler() 之间的不同]] 演示 trigger() 和 triggerHandler() 之间的不同。 [[jquery ref events|jQuery 事件方法]]
返回至“
Event triggerhandler
”。
上一节:
Event_trigger
下一节:
Event_unbind