簡體   English   中英

Google Chrome瀏覽器擴展程序看不到點擊?

[英]Google Chrome Extension Can't See Clicks?

我無法獲得任何這些事件偵聽器來觸發任何功能。

以下是我的Chrome擴展程序。 警報被觸發,但是沒有偵聽器起作用。 元素是動態創建的,因此我不確定是否會有所不同。

document.addEventListener('DOMContentLoaded', function() {
    document.querySelector('.overlay_show').addEventListener('click', alertit);
    document.querySelector('.overlay_hide').addEventListener('click', alertit);
});

元素html

`<a class='overlay_hide' ><i>Hide<i/></a>`;

`

有什么想法會有所幫助嗎?

元素是動態創建的,因此我不確定是否會有所不同。

是的 如果添加元素之前添加了偵聽器,它將無法正常工作。 當您執行document.querySelector('.overlay_show') ,它將選擇具有類.overlay_show的第一個元素,並在其上添加一個偵聽器。 完成

因此,您有2個解決方案:

添加元素添加偵聽器

但這意味着您每次都必須這樣做

監聽單擊<body>並使用e.target

document.body.addEventListener('click', function (e) {
    if (e.target.classList.contains('overlay_show')
        || e.target.classList.contains('overlay_hide')) {
        alertit()
    }
}

暫無
暫無

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

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