簡體   English   中英

在沒有JQuery的情況下實現onclick事件

[英]Implementing an onclick event without JQuery

我的應用程序中有一些JQuery,它將click事件添加到類中。 click事件只會刪除父元素上的類。

$(function(){
  $(".flash .close").on("click", function(){
    $(this).parent().removeClass("active");
  })
});

這是JQuery在整個應用程序中的唯一用法,因此我很想在沒有JQuery的情況下重新編寫此代碼段,因此可以將其作為依賴項一起消除。

但是,即使在本機javascript中,我也不確定在實現此點擊方面應該從哪里開始。 我對JavaScript不太了解,而我所了解的很少涉及JQuery和React之類的框架。

謝謝!

嘗試使用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> 

您可以從下面的參考資料中獲取學習角度的參考:https://www.w3schools.com/js/js_htmldom_eventlistener.asp

試試這個小提琴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");
     });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM