triggerHandler( event, [data] ) 方法



描述

triggerHandler( event, [data] ) 方法触发元素上绑定的所有事件处理程序(针对特定事件类型),**但不会执行浏览器的默认操作、冒泡或实时事件**。

此方法的行为与 trigger 方法非常相似,但有两个主要例外:

  • 首先 - 不会触发默认的浏览器操作,触发的事件不会冒泡,并且不会触发实时事件。

  • 其次 - 事件仅在 jQuery 集合中的第一个元素上触发。

此方法返回触发处理程序的返回值,而不是可链式 jQuery 对象。

语法

以下是使用此方法的简单语法:

selector.triggerHandler( event, [data] )

参数

以下是此方法使用所有参数的描述:

  • event - 要触发的事件对象或类型。

  • data - 这是一个可选参数,表示要作为参数(在事件对象之后)传递给事件处理程序的其他数据。

示例

以下是一个简单的示例,展示了此方法的使用:

<html>
   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "https://tutorialspoint.com/jquery/jquery-3.6.0.js">
      </script>
		
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {

            $("#old").click(function(){
               $("input").trigger("focus");
            });
      
            $("#new").click(function(){
               $("input").triggerHandler("focus");
            });
      
            $("input").focus(function(){
               $("<span>Focused!</span>").appendTo("body").fadeOut(1000);
            });
				
         });
      </script>
   </head>
	
   <body>
      <button id = "old">.trigger("focus")</button>
      <button id = "new">.triggerHandler("focus")</button><br/><br/>
		
      <input type = "text" value = "To Be Focused"/>
   </body>
</html>

这将产生以下结果:

jquery-events.htm
广告