如何比较事件.目标到一个选择器



在我的函数中,我采用节点类型node,并将onclick附加到该类型文档中的每个节点。

然后我想看看被点击的元素和"冒泡",即在它上面的节点添加一个效果,将被selector选中。

问题是,选择器我的函数可以是一个类,一个标签,一个id,等等…

那么我将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。(这是家庭作业的一部分,但我的问题与它没有直接关系)

检查element(在您的例子中是target)是否与selector匹配:

Array.prototype.indexOf.call(document.querySelectorAll(selector), element) !== -1

最新更新