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.tw/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
廣告

© . All rights reserved.