Categories

event.target

Categories: Event Object

event.targetReturns: Element

Description: The DOM element that initiated the event.

  • event.target

    version added: 1.0

The target property can be the element that registered for the event or a descendant of it. It is often useful to compare event.target to this in order to determine if the event is being handled due to event bubbling. This property is very useful in event delegation, when events bubble.

  • Display the tag's name on click

    HTML:
    
    <div id="log"></div>
    <div>
      <p>
        <strong><span>click</span></strong>
      </p>
    </div>
    CSS:
    
    span, strong, p { 
      padding: 8px; display: block; border: 1px solid #999;  }
        
    Code:
    $("body").click(function(event) {
      $("#log").html("clicked: " + event.target.nodeName);
    });  
  • Implements a simple event delegation: The click handler is added to an unordered list, and the children of its li children are hidden. Clicking one of the li children toggles (see toggle()) their children.

    HTML:
    
    <ul>
      <li>item 1
        <ul>
          <li>sub item 1-a</li>
          <li>sub item 1-b</li>
        </ul>
      </li>
      <li>item 2
        <ul>
          <li>sub item 2-a</li>
          <li>sub item 2-b</li>
        </ul>
      </li>  
    </ul>
    Code:
    function handler(event) {
      var $target = $(event.target);
      if( $target.is("li") ) {
        $target.children().toggle();
      }
    }
    $("ul").click(handler).find("ul").hide();