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 |
---|---|---|
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
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.
Update compatibility data on GitHub
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';
}
See also
Event.target by Mozilla Contributors is licensed under CC-BY-SA 2.5.