jQuery triggerHandler() 方法
實例
觸發 <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() 之間的不同。