Spec-Zone.ru › jQuery

.triggerHandler()

.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>

Демо:

© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquery.com/triggerHandler

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API