jQuery triggerHandler() 方法

jQuery 事件方法 jQuery 事件方法

實例

觸發 <input> 元素的 select 事件:

$("button").click(function(){ $("input").triggerHandler("select"); });


定義和用法

triggerHandler() 方法觸發被選元素上指定的事件。

該方法的返回的是事件處理函數的返回值,而不是具有可鏈性的 jQuery 對象。此外,如果沒有處理程式被觸發,則這個方法返回 undefined。

該方法與 trigger() 方法類似,不同的是 trigger() 也觸發事件的默認行為(比如表單提交)。

與 trigger() 方法相比的不同之處:

  • 它不會引起事件(比如表單提交)的默認行為
  • .trigger() 會操作 jQuery 對象匹配的所有元素,而 .triggerHandler() 只影響第一個匹配元素。
  • 由 .triggerHandler() 創建的事件不會在 DOM 樹中冒泡;如果目標元素不直接處理它們,則不會發生任何事情。

實例

triggerHandler() 與 .trigger() 比較:

$( "#old" ).click(function() { $( "input" ).trigger( "focus" ); }); $( "#new" ).click(function() { $( "input" ).triggerHandler( "focus" ); }); $( "input" ).focus(function() { $( "<span>Focused!</span>" ).appendTo( "body" ).fadeOut( 1000 ); });


語法

$(selector).triggerHandler(event,param1,param2,...)

參數 描述
event 必需。規定指定元素上要觸發的事件。
param1,param2,... 可選。傳遞到事件處理程式的額外參數。
額外參數對自定義事件特別有用。


實例

更多實例

傳遞額外參數到自定義事件
如何傳遞額外參數到自定義事件處理程式。

trigger() 和 triggerHandler() 之間的不同
演示 trigger() 和 triggerHandler() 之間的不同。


jQuery 事件方法 jQuery 事件方法