添加事件侦听器时出错

时间:2017-03-05 14:37:21

标签: javascript html google-chrome-extension

首先,我知道这类问题已被问过数千次,但为什么这不起作用? 我有一个带有options.html的chrome扩展程序和一个用于将内容保存到本地存储的保存按钮:

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

这是我的选择.js:

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

但是,它在chrome控制台中给出了这个错误:

Uncaught TypeError: Cannot read property 'addEventListener' of null

我在俯瞰什么?

2 个答案:

答案 0 :(得分:2)

您收到该错误是因为您尝试将事件侦听器添加到尚未创建的元素,将js脚本放在正文的末尾,或者使用DOMContentLoaded事件,

答案 1 :(得分:0)

您尝试将事件侦听器添加到尚未创建的元素。 添加事件istener到DOMContentLoaded以在生成DOM后执行您的侦听器。

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

这应该做的工作。