Web/API/Event/target

From Get docs
< Web/API‎ | Event


The target property of the Event interface is a reference to the object onto which the event was dispatched. It is different from Event.currentTarget when the event handler is called during the bubbling or capturing phase of the event.

Syntax

const theTarget = someEvent.target;

Value

EventTarget

Example

The event.target property can be used in order to implement event delegation.

// Make a list
const ul = document.createElement('ul');
document.body.appendChild(ul);

const li1 = document.createElement('li');
const li2 = document.createElement('li');
ul.appendChild(li1);
ul.appendChild(li2);

function hide(evt) {
  // e.target refers to the clicked <li> element
  // This is different than e.currentTarget, which would refer to the parent <ul> in this context
  evt.target.style.visibility = 'hidden';
}

// Attach the listener to the list
// It will fire when each <li> is clicked
ul.addEventListener('click', hide, false);

Specifications

Specification Status Comment
DOMThe definition of 'Event.target' in that specification. Living Standard
DOM4The definition of 'Event.target' in that specification. Obsolete
Document Object Model (DOM) Level 2 Events SpecificationThe definition of 'Event.target' in that specification. Obsolete Initial definition

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
target Chrome

Full support 1

Edge

Full support 12

Firefox

Full support 1

IE

Full support 9

Opera

Full support 7

Safari

Full support 1

WebView Android

Full support 1

Chrome Android

Full support 18

Firefox Android

Full support 4

Opera Android

Full support 10.1

Safari iOS

Full support 1

Samsung Internet Android

Full support 1.0

Legend

Full support  
Full support


Compatibility notes

On IE 6–8, the event model is different. Event listeners are attached with the non-standard EventTarget.attachEvent() method.

In this model, the event object has a Event.srcElement property (instead of the target property) and it has the same semantics as Event.target.

function hide(evt) {
  // Support IE6-8
  var target = evt.target || evt.srcElement;
  target.style.visibility = 'hidden';
}

See also