.triggerHandler()

Execute all handlers attached to an element for an event.

.triggerHandler(eventType, extraParameters)🡢 Object

eventType StringA string containing a JavaScript event type, such as click or submit.
extraParameters Array, PlainObjectAdditional parameters to pass along to the event handler.

.triggerHandler(event, extraParameters)🡢 Object

event EventA jQuery.Event object.
extraParameters Array, PlainObjectAdditional parameters to pass along to the event handler.

.triggerHandler( eventType ) executes all handlers bound with jQuery for the event type. It will also execute any method called on{eventType}() found on the element. The behavior of this method is similar to .trigger(), with the following exceptions:

  • The .triggerHandler( "event" ) method will not call .event() on the element it is triggered on. This means .triggerHandler( "submit" ) on a form will not call .submit() on the form.
  • While .trigger() will operate on all elements matched by the jQuery object, .triggerHandler() only affects the first matched element.
  • Events triggered with .triggerHandler() do not bubble up the DOM hierarchy; if they are not handled by the target element directly, they do nothing.
  • Instead of returning the jQuery object (to allow chaining), .triggerHandler() returns whatever value was returned by the last handler it caused to be executed. If no handlers are triggered, it returns undefined

For more information on this method, see the discussion for .trigger().

If you called .triggerHandler() on a focus event - the browser's default focus action would not be triggered, only the event handlers bound to the focus event.

JS
<button id="old">.trigger( "focus" )</button>
<button id="new">.triggerHandler( "focus" )</button><br /><br />

<input type="text" value="To Be Focused" />
HTML
$("#old").click(function () {
  $("input").trigger("focus");
});
$("#new").click(function () {
  $("input").triggerHandler("focus");
});
$("input").focus(function () {
  $("<span>Focused!</span>").appendTo("body").fadeOut(1000);
});
DEMO

Looking for a Web Developer?

👋

Hi! I'm Basti, author of this site. If you are looking for a web developer with 15+ years of experience, holla at me!

Be it the good 'ol jQuery, vanilla JS or modern frameworks like Vue and Svelte, front- or backend, I can help you.

Just write me at jobs@jqapi.com :)