jQuery - triggerHandler( event, [data] ) Method


Advertisements


Description:

The triggerHandler( event, [data] ) method triggers all bound event handlers on an element (for a specific event type) WITHOUT executing the browser's default actions, bubbling, or live events.

This method behaves very similarly to the trigger method, with two major exceptions:

  • First: No default browser actions are triggered, the triggered event does not bubble, and live events aren't triggered.

  • Second: The event is only triggered on the first element within the jQuery collection.

This method returns the return value of the triggered handler instead of a chainable jQuery object.

Syntax:

Here is the simple syntax to use this method:

selector.triggerHandler( event, [data] )

Parameters:

Here is the description of all the parameters used by this method:

  • event: An event object or type to trigger.

  • data : This is an optional parameters and represents additional data to pass as arguments (after the event object) to the event handler.

Example:

Following is a simple example a simple showing the usage of this method:

<html>
<head>
<title>The jQuery Example</title>
   <script type="text/javascript" 
   src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.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>