创建的按钮没有 onclick

Gob*_*niu 1 javascript

这是我的 HTML:

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>BookInc</title>
  <link rel="stylesheet" href="style.css">

</head>

<body style="background-color:white;">

    <div id= "mainPage">

    </div>
    <script src="test.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

和我的 javascript:

var btn = document.createElement('input');
btn.type = "button";
btn.className = "btn";
btn.value = "Negociate";
btn.onclick = console.log("hello");
document.getElementById('mainPage').appendChild(btn);
Run Code Online (Sandbox Code Playgroud)

当我的按钮创建时,onclick 事件会自动触发(我在控制台中打印 hello 而不单击按钮)然后不起作用。当我检查页面时,我意识到我的按钮不再有 onclick(只有类和值)

我不明白为什么所以任何帮助将不胜感激。谢谢。

Mat*_*att 5

onclick需要是一个函数。请参阅示例。

var sayHello = function(){
    console.log("hello");
};

var btn = document.createElement('input');
btn.type = "button";
btn.className = "btn";
btn.value = "Negociate";
btn.onclick = sayHello;
document.getElementById('mainPage').appendChild(btn);
Run Code Online (Sandbox Code Playgroud)
<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>BookInc</title>
  <link rel="stylesheet" href="style.css">

</head>

<body style="background-color:white;">

    <div id= "mainPage">

    </div>
    <script src="test.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)