ElementById查找元素,但不会添加事件监听器(Chrome扩展程序)

时间:2018-12-01 22:52:46

标签: javascript google-chrome-extension

我的扩展程序的弹出窗口中有一个带有代码的表单:

<button type="submit" id="update" class="btn btn-primary">Submit</button>

然后在附带的脚本中,输入以下代码:

document.addEventListener("DOMContentLoaded", function(event){
  var button = document.getElementById("update");
  button.addEventListener("click", test);
  button.style.color="red";
});



function test(){
  console.log("test");
}

代码的“ button.style.color =” red“”部分有效,因此我知道成功找到了该按钮。但是,加载后以及单击按钮时,我仍然收到此错误:

Uncaught TypeError: Cannot read property 'addEventListener' of null

我该如何解决这个问题:(

2 个答案:

答案 0 :(得分:0)

它正在我的演示中运行,请参阅:JSBin

    document.addEventListener("DOMContentLoaded", function(event){
     var button = document.getElementById("update");
     button.addEventListener("click", test);
     button.style.color="red"; 
    });

答案 1 :(得分:0)

这可能是重复的Cannot read property 'addEventListener' of null,但是,如果您仍然无法详细解释,请尝试这些解决方案。

相关问题