Я пытаюсь добавить прослушиватель событий ко всем объектам, кроме нескольких выбранных (у выбранных также есть произвольные дочерние элементы на произвольных уровнях)?
Я задавал этот вопрос раньше, но так и не получил ответа на него. Я подошел близко, чтобы решить это. Не могли бы вы помочь мне с его отладкой?
Я добавляю прослушиватель событий в элемент тела с именем bodylistener
и прослушиватель событий для нескольких выбранных элементов с именем selectedElementsMarkTrue
. Из нескольких выбранных элементов, которые я не хочу выполнять, код слушателя selectedElementsMarkTrue
выполняет pior к bodylistener
с setTimeout function
. selectedElementsMarkTrue
устанавливает переменную selectedElements
в true
, а bodylistener
проверяет, является ли selectedElements
true
перед выполнением кода сома. С моим кодом все еще что-то не так
var selectedElements = false;
var bodylistener = function(){
window.setTimeout(function(){//Setting timeout so that the other handler, selectedElementsMarkTrue, always performs first
(function(){
if(selectedElements == false){
//Do some stuff
}else{
selectedElements = false;
}
});
}, 10);//Could be 0, but te be sure I set 10
};
var selectedElementsMarkTrue = function(){
selectedElements = true;
};
$('#dontAddEventListener1, #dontAddEventListener2').each(function(){
this.addEventListener('click', selectedElementsMarkTrue, false);
});
document.body.addEventListener('click', bodylistener, false);
Я не могу заставить функцию setTimeout выполнить основной код?