-1

我想做一個Chrome擴展彈出窗口,用戶可以添加特定標籤的URL或刪除一個或全部刪除。刪除所有工作正常,添加網址也是。然而,「刪除一個鏈接」根本不起作用,我真的一直在與該部門斗爭。我希望有人能幫助我解決這個問題,因爲我不知道問題出在哪裏。以下是文件:Chrome擴展類按鈕上的事件偵聽器似乎無法工作,或者偵聽器的操作不起作用?

  • popup.js:gist.github.com/kobrajunior/4852f85ae18cfb9edbe542a820b8c107

  • popup.html:gist.github.com/kobrajunior/1c26691734c19391c62dc336ed2e1791

  • 清單。 JSON:gist.github.com/kobrajunior/78acda830c2d1c384333542422f1494d

我已閱讀其他職位,這可能是因爲getElementsByClassName不會返回一個'真正'的數組,通過它你可以用函數處理事情,如果這是真的,那麼我就沒有辦法解決這個問題了。

的 'X' 按鈕不起作用:

The 'X' button doesn't work

清除一切按鈕按預期工作:

Clear everything buttons works as expected

+0

請附上您的代碼,[MCVE],**在問題本身**,而不僅僅是部分其他地方的網址。如果沒有明確的,已知的適當許可,我們不能將這些代碼轉移到您的問題中。 – Makyen

回答

0

在你removeMe()功能,您必須刪除您的DOM元素從其父元素。事情是這樣的:

function removeMe(i) { 
    // remove it from the DOM 
    var list = document.getElementsByClassName('items'); 
    list[i].parentNode.removeChild(list[i]); 
    list.splice(i, 1); 

    // remove it from chrome-storage 
    chrome.storage.local.get({urlList:[], titleList:[]}, function(data) { 
    urlList = data.urlList; 
    titleList = data.titleList; 
    urlList.splice(i, 1); 
    titleList.splice(i, 1); 

    // update chrome storage 
    saveList(); 
    }); 
} 

或者你可以只用你的主要list ID:

document.getElementById("list").removeChild(list[i]); 
+0

現在嘗試了他們兩個,似乎仍然沒有工作。我甚至添加了一個'alert-demo'來查看事件監聽器是否工作,這也是行不通的。 – Kobrajunior

+0

我在深入挖掘你的代碼!靜止不動! – d3vi4nt

+0

爲什麼在'button'標籤中使用';'分號? '' – d3vi4nt

相關問題