Рассмотрим следующий код:
$(document).click(function (event) {
console.log("Ok");
});
$(document).add($('p')).click(function onceHandler(event) {
console.log('Clicked.');
});
Я бы хотел, чтобы onceHandler
запускался только один раз, когда нажимается «p», поэтому каждый обработчик должен запускаться один раз, а второй - дважды.до щелчка, распространяющегося из p в документ.
event.stopPropagation()
сломает первый обработчик, поэтому я не могу его использовать.Я также попробовал:
$(document).add($('p')).click(function(event) {
if (event.stopDoingThat) return;
console.log('Clicked.');
event.stopDoingThat = true;
});
, который не работал.Таким образом, в основном, ничего не меняя, я получаю 2 "нажал" и один "хорошо".С stopPropagation
- 1 "нажал", мне нужно 1 "нажал" и 1 "хорошо"