TL; DR
$('selector').click(function (e) {
e.stopPropagation();
});
Пояснение:
Обработчики событий (будь то jQuery или необработанный JavaScript) принимают один параметр - событие. У этих объектов событий есть все виды изящных вещей, которые делают их полезными, но многие из них зависят от браузера. К счастью, stopPropagation универсален.
В вашем случае вы, вероятно, испытываете проблемы с событиями, переполняющими стек. Скажем, у вас есть что-то вроде этого:
- документ (с обработчиком кликов)
- div (с обработчиком кликов)
- div (с обработчиком клика)
Событие будет сначала инициировано в нижнем элементе div, затем, когда выполнение завершится, оно всплывет. Каждый слушатель получит уведомление, пока не будет больше слушателей.
Чтобы остановить это всплывающее сообщение, JavaScript (не jQuery) дал нам метод stopPropagation
для этого объекта события. Вызов этого скажет браузеру отменить пузырьковый процесс.