目录

triggerHandler( event, [data] )

描述 (Description)

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

此方法的行为与触发器方法非常相似,但有两个主要例外 -

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

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

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

语法 (Syntax)

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

<i>selector</i>.triggerHandler( event, [data] )

参数 (Parameters)

以下是此方法使用的所有参数的说明 -

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

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

例子 (Example)

以下是一个简单的例子,简单地显示了这种方法的用法 -

<html>
   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.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>

这将产生以下结果 -

新页面打开
↑回到顶部↑
WIKI教程 @2018