當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JQuery .triggerHandler()用法及代碼示例


用法
.triggerHandler( eventType [, extraParameters ] ) => Object

說明:執行附加到事件元素的所有處理程序。

  • 添加的版本:1.2.triggerHandler( eventType [, extraParameters ] )

    • eventType
      類型:String
      包含 JavaScript 事件類型的字符串,例如 clicksubmit
    • extraParameters
      類型:ArrayPlainObject
      要傳遞給事件處理程序的附加參數。
  • 添加的版本:1.3.triggerHandler( event [, extraParameters ] )

.triggerHandler( eventType ) 為事件類型執行所有與 jQuery 綁定的處理程序。它還將執行在元素上找到的任何名為on{eventType}() 的方法。此方法的行為類似於 .trigger() ,但有以下異常:

  • .triggerHandler( "event" ) 方法不會在觸發它的元素上調用 .event()。這意味著表單上的.triggerHandler( "submit" ) 不會調用表單上的.submit()
  • .trigger() 將對 jQuery 對象匹配的所有元素進行操作,而 .triggerHandler() 僅影響第一個匹配的元素。
  • .triggerHandler() 觸發的事件不會在 DOM 層次結構中冒泡;如果它們沒有被目標元素直接處理,它們什麽也不做。
  • .triggerHandler() 不是返回 jQuery 對象(以允許鏈接),而是返回它導致執行的最後一個處理程序返回的任何值。如果未觸發任何處理程序,則返回 undefined

有關此方法的更多信息,請參閱 .trigger() 的討論。

例子:

如果您在焦點事件上調用 .triggerHandler() - 不會觸發瀏覽器的默認焦點操作,隻會觸發綁定到焦點事件的事件處理程序。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>triggerHandler demo</title>
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
 
<button id="old">.trigger( "focus" )</button>
<button id="new">.triggerHandler( "focus" )</button><br><br>
 
<input type="text" value="To Be Focused">
 
<script>
$( "#old" ).click(function() {
  $( "input" ).trigger( "focus" );
});
$( "#new" ).click(function() {
  $( "input" ).triggerHandler( "focus" );
});
$( "input" ).focus(function() {
  $( "<span>Focused!</span>" ).appendTo( "body" ).fadeOut( 1000 );
});
</script>
 
</body>
</html>

演示:

相關用法


注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .triggerHandler()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。