2017-03-05 157 views
-1

首先,我知道這種問題已被問過千次,但爲什麼不起作用? 我有一個Chrome擴展與options.html和保存鍵東西到本地存儲:添加事件監聽器時出錯

<div>  
    <button type="button" name="save" class="btn btn-primary btn-md active" id="save">SAVE</button>   
</div>  

這是我options.js:

document.getElementById('save').addEventListener('click', 
save_options); 

但是,它給了我這個鉻控制檯中的錯誤:

Uncaught TypeError: Cannot read property 'addEventListener' of null 

我在忽略什麼?

+0

會發生什麼第一個腳本或按鈕? – Banzay

+0

你在哪裏/如何包括JS? – SLaks

+0

謝謝大家,StasiekK回答工作。 – Noah

回答

0

您嘗試將事件偵聽器添加到尚未創建的元素。 在DOM生成後,將事件過濾器添加到DOMContentLoaded以執行您的偵聽器。

document.addEventListener("DOMContentLoaded", function() { 
    document.getElementById('save').addEventListener('click', 
    save_options); 
}); 

這應該做的工作。

2

您獲得的錯誤,因爲你正試圖將事件偵聽器添加到已尚未創建一個元素,把你的JS腳本在身體的末端,或者使用DOMContentLoaded事件,