В моей функции я беру тип узла, node
и прикрепляя onclick
к каждому узлу в документе этого типа.Как сравнить event.target с селектором
Затем я хочу посмотреть на элемент, который был нажат, и «залить пузырь», т. Е. Добавить эффект к узлу над ним, который будет выбран selector
.
Проблема заключается в том, что селектор моя функция принимает может быть класс, тег, идентификатор, и т.д. ...
Так что я сравниваю target
к (в части с окружающей средой * 's) ?
function myFunc(node, event, selector){
var elements = document.querySelectorAll(node);
for (var i = 0; i < elements.length; i++){
elements[i].onclick = function(event){
var target = event.target;
while (target != node){
**if (target == selector) **
applyEffects(target);
}
target = target.parentNode;
};
}
}
Кроме того - я не разрешено использовать JQuery. (Это часть домашнего задания, но мой вопрос не имеет прямого отношения к нему)
Это способ перехитрить это ... Но это более кросс-браузер, чем ['matches'] (https://developer.mozilla.org/en-US/docs/Web/API/Element.matches) – Oriol
@Oriol Wasn Я не знал об этом методе, поэтому я его не использовал. – sabof
@ Ориол на самом деле только Chrome поддерживает его беспрепятственно – sabof