пузырь jQuery stopPropagation вниз

У меня есть отделение со ссылкой в нем:

Lol

Нажатие

должен пойти куда-нибудь, но нажатие на ребенка должен перейти к www.lol.com. Я видел от предыдущих вопросов и веб-сайта jQuery, что .stopPropagation предотвращает пузырение вверх, но как я предотвращаю пузырь вниз (не это, что необходимо здесь?).

30
задан Community 23 May 2017 в 12:34
поделиться

1 ответ

События только всплывают. Таким образом, обработчик события щелчка для элемента a запускается перед обработчиком события щелчка для div . Если вам нужно описанное вами поведение, вам нужно добавить обработчик события щелчка к элементу a, который останавливает распространение в div.

$("#myDiv a").click( function(event) {
    event.stopPropagation();
} );

и сохраните имеющийся у вас обработчик событий в div. Это должно позволить событию выполнить действие по умолчанию и предотвратить запуск обработчика div.

Если вы хотите предотвратить клики только по ссылкам, вы можете изменить обработчик событий для элемента div

$("#myDiv").click( function( event ) {
    if( !$( event.target ).is( "a" ) )
    {
        // existing event handler
    }
} );
46
ответ дан 27 November 2019 в 23:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: