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
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 |
---|---|---|
DOM The definition of 'Event.target' in that specification. |
Living Standard | |
DOM4 The definition of 'Event.target' in that specification. |
Obsolete | |
Document Object Model (DOM) Level 2 Events Specification The definition of 'Event.target' in that specification. |
Obsolete | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
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'; }