在没有JQuery的情况下实现onclick事件

时间:2017-06-23 06:16:20

标签: javascript onclick

我的应用程序中有一些JQuery,它向一个类添加了一个click事件。 click事件只删除父元素上的类。

selectOption('//select[@id="food"]', 'Pizza');

这是我在整个应用程序中唯一使用的JQuery,所以我很乐意在没有JQuery的情况下重新编写这个代码段,所以我可以将它作为一个依赖项一起消除。

但是,即使在原生javascript中,我也不确定从实现此点击的角度开始。我对JavaScript知之甚少,而我所知道的很少涉及JQuery和React等框架。

谢谢!

3 个答案:

答案 0 :(得分:2)

尝试使用querySelectorAll选择元素。然后使用classList.remove()删除parentElement的类名。



window.onload=function(){
document.querySelectorAll(".flash ,  .close").forEach(function(a){
a.addEventListener("click", function(){
    this.parentElement.classList.remove("active");
  })
  })
}

.active{
color:red;
}

<div class="active">
<a class="flash">hi</a>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以从以下来源参考您的学习视角 https://www.w3schools.com/js/js_htmldom_eventlistener.asp

答案 2 :(得分:0)

试试这个小提琴 https://jsfiddle.net/z6uopyhy/1/

var flashCloseButton = document.getElementsByClassName('close');

for(var i = 0; i < flashCloseButton.length; i++){
     flashCloseButton[i].addEventListener("click", function(e) {
                    this.parentElement.classList.remove("active");
     });
}