.triggerHandler( eventType [, extraParameters ] )Возвращает: Объект
Описание: Выполнить все обработчики, привязанные к элементу для события.
-
версия добавлена: 1.2.triggerHandler( eventType [, extraParameters ] )
- eventTypeТип: СтрокаСтрока, содержащая тип JavaScript-события, такой как
clickилиsubmit. - extraParametersТип: Массив или Простой объектДополнительные параметры для передачи обработчику события.
-
-
версия добавлена: 1.3.triggerHandler( event [, extraParameters ] )
- eventТип: СобытиеОбъект
jQuery.Event. - extraParametersТип: Массив или Простой объектДополнительные параметры для передачи обработчику события.
-
.triggerHandler( eventType ) выполняет все обработчики, связанные с jQuery для типа события. Также будет выполняться любой метод, называемый on{eventType}() в элементе. Поведение этого метода аналогично .trigger() со следующими исключениями:
- Метод
.triggerHandler( "event" )не будет вызывать.event()на элементе, на котором он был вызван. Это означает, что.triggerHandler( "submit" )на форме не вызовет.submit()на форме. - В то время как
.trigger()будет действовать на все элементы, соответствующие объекту jQuery,.triggerHandler()влияет только на первый соответствующий элемент. - События, инициированные с помощью
.triggerHandler()не поднимаются по иерархии DOM; если они не обрабатываются целевым элементом напрямую, они ничего не делают. - Вместо возвращения объекта jQuery (для возможности цепочки вызовов),
.triggerHandler()возвращает значение, возвращенное последним обработчиком, который он вызвал. Если обработчики не вызываются, возвращаетсяundefined
Для получения дополнительной информации об этом методе, см. обсуждение для .trigger().
Пример:
Если вы вызвали .triggerHandler() для события фокусировки - действие браузера по умолчанию для фокусировки не будет выполнено, будут выполнены только обработчики событий, привязанные к событию фокусировки.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>triggerHandler demo</title>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<button id="old">.trigger( "focus" )</button>
<button id="new">.triggerHandler( "focus" )</button><br><br>
<input type="text" value="To Be Focused">
<script>
$( "#old" ).on( "click", function() {
$( "input" ).trigger( "focus" );
} );
$( "#new" ).on( "click", function() {
$( "input" ).triggerHandler( "focus" );
} );
$( "input" ).on( "focus", function() {
$( "<span>Focused!</span>" ).appendTo( "body" ).fadeOut( 1000 );
} );
</script>
</body>
</html>