EventListeners未启动(即使在末尾包含JavaScript之后)

EventListeners not firing (even after including JavaScript at the end)

本文关键字:包含 JavaScript 之后 启动 EventListeners      更新时间:2023-09-26

这不是"为什么jQuery或像getElementById这样的DOM方法找不到元素&";。我有一个表单,它应该触发一堆事件,但没有一个函数被调用。我添加了一个按钮只是为了测试。

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset ="utf-8" />
    <title>Sign in</title>
    <link rel="stylesheet" type="text/css" href="main.css" />
    <link rel="stylesheet" type="text/css" href="passphrase.css" />
</head>
<body>
    <noscript>
        Javascript is disabled. Now redirecting.
    <meta HTTP-EQUIV="REFRESH" content="0; url=passnojs.html"> 
    </noscript>
    Welcome.
    <form method="post" action="prolevel2.php" id="loginForm">
        <!--code snipped-->
        <br /><br /><input type="button" value="big ugly button" id="testing" />
    </form>
    <script src="verify.js"></script><!--this should work because it's after the HTML-->
</body>
</html>

包含外部JavaScript

alert("begining")
document.getElementById('testing').addEventListener('onclick', display, false)
alert("here now")
function display()
{
    alert("now displaying")//doesn't work
}

"开始";以及";现在在这里";被显示,但是";现在显示不是";。控制台中没有消息。我做错了什么?

试试这个

document.getElementById('testing').addEventListener('click', function(){alert("now displaying")}, false);

document.getElementById('testing').addEventListener('click',display, false);

正如其他人所提到的,您有一个语法错误。"onclick"应该是"click"。对于默认事件,我更喜欢使用属性,而不是addEventListener,如果输入错误,它会抛出正确的语法错误:

alert("begining")
document.getElementById('testing').onclick = display;
alert("here now")
function display()
{
    alert("now displaying");//doesn't work
}

http://jsfiddle.net/MaxPRafferty/N4qGB/