www.jQueryBook.ru - jQuery документация

 

 

 

 



  • Категории: Events › Event Object

    event.stopImmediatePropagation()

    Предотвращает всплытие объекта события вверх по DOM-дереву и запуск последующих обработчиков события, связанных с текущим элементом.

Синтаксис и описание:

  • Добавлено в jQuery 1.3event.stopImmediatePropagation()

  • Метод event.stopImmediatePropagation() останавливает всплытие события вверх по DOM-дереву и, дополнительно, не даёт выполниться остальным обработчикам этого же события, повешенным на том же элементе после текущего. Это отличает его от event.stopPropagation(), который останавливает только всплытие, но не мешает выполниться другим обработчикам на этом же элементе.

Возвращаемое значение: нет (undefined).

  1. Примечание:

    Проверить, вызывался ли метод, можно через event.isImmediatePropagationStopped(). На обработчики других, не связанных элементов вызов не влияет — они сработают как обычно.

  2. В jQuery 3.x и 4.0:

    Метод работает без изменений. Нативный аналог — тот же Event.stopImmediatePropagation(); jQuery добавляет только собственный флаг для isImmediatePropagationStopped() и следит, чтобы остальные обработчики из своего внутреннего списка на этом элементе не запускались.

Примеры:

  1. Второй обработчик клика не выполнится:

    $( "p" ).on( "click", function ( event ) {
      event.stopImmediatePropagation();
      console.log( "Первый обработчик выполнился" );
    } );
    
    $( "p" ).on( "click", function () {
      console.log( "Этот обработчик не выполнится" );
    } );
  2. Отменяем обработку клика по кнопке «Удалено», не давая сработать делегированному обработчику родителя:

    $( "#list" ).on( "click", "li.removed", function ( event ) {
      event.stopImmediatePropagation();
    } );
    
    $( "#list" ).on( "click", "li", function () {
      console.log( "Клик по активному пункту" );
    } );

[ наверх ]









 




Справочник по jQuery JavaScript API на русском языке