event.targetВозвращает: Element
Описание: Элемент DOM, который инициировал событие.
версия добавлена: 1.0event.target
Свойство target может быть элементом, зарегистрированным для события, или его потомком. Часто бывает полезно сравнить event.target с this, чтобы определить, обрабатывается ли событие из-за его «подъёма» (event bubbling). Это свойство очень полезно при делегировании событий, когда события «поднимаются».
Примеры:
Отображение имени тега при нажатии
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>event.target demo</title>
<style>
span, strong, p {
padding: 8px;
display: block;
border: 1px solid #999;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<div id="log"></div>
<div>
<p>
<strong><span>click</span></strong>
</p>
</div>
<script>
$( "body" ).on( "click", function( event ) {
$( "#log" ).html( "clicked: " + event.target.nodeName );
});
</script>
</body>
</html> Демо:
Реализация простого делегирования событий: обработчик кликов добавлен к неупорядоченному списку, а потомки его элементов списка li скрываются. Нажатие на один из потомков li переключает (см. toggle()) его потомков.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>event.target demo</title>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<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>
<script>
function handler( event ) {
var target = $( event.target );
if ( target.is( "li" ) ) {
target.children().toggle();
}
}
$( "ul" ).on( "click", handler ).find( "ul" ).hide();
</script>
</body>
</html>