document.getElementById返回null

Mat*_*nds 0 html javascript null google-chrome button

我正在尝试为Chrome编写扩展程序.

我现在要做的是创建一个HTML表单,上面有一个按钮,按下时会显示一个消息框.

我的项目包含一个HTML文件和一个JavaScript文件.

<html>
<head>
<style>
body {
  width:100px;
  font-family: sans-serif;
  font-size: 0.8em;
}
</style>
<script src="popup.js"></script>
</head>
<body>
<input id="buttonid" type="button" value="try it"></input>
</body>



chrome.tabs.onCreated.addListener(onCreated());

function myFunction()
{
alert("Hello World!");
}

function onCreated()
{
    var fld = document.getElementById("buttonid");
    if(fld==null)
    {
        alert("null");
    }
    else
    {
        alert("not null");
    }   
}
Run Code Online (Sandbox Code Playgroud)

所以我的理解是,当呈现HTML时,它运行我的onCreated()函数.然后,这将查找ID ="buttonid"的元素.但它总是返回null,所以出现一个消息框说"null".

有谁能解释一下?这似乎毫无意义.我尝试在IE中运行稍微改编的版本,但结果相同.

为了清楚起见,我知道这不会满足我上面的描述,但我试图在将事件附加到它之前从JavaScript访问该按钮.

Ber*_*rgi 5

更换

chrome.tabs.onCreated.addListener(onCreated());
Run Code Online (Sandbox Code Playgroud)

同

chrome.tabs.onCreated.addListener(onCreated);
Run Code Online (Sandbox Code Playgroud)

事件处理程序规则#1:没有括号! - 您不想执行该功能,但要注册它.