У меня есть отделение со ссылкой в нем:
Нажатие должен пойти куда-нибудь, но нажатие на ребенка
должен перейти к www.lol.com. Я видел от предыдущих вопросов и веб-сайта jQuery, что .stopPropagation предотвращает пузырение вверх, но как я предотвращаю пузырь вниз (не это, что необходимо здесь?).
События только всплывают. Таким образом, обработчик события щелчка для элемента 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
}
} );