(javascript)html事件处理程序工作,但dom事件处理程序不起作用

时间:2015-09-08 17:13:13

标签: javascript javascript-events

我正在学习事件处理程序,并使用Jon Duckett撰写的Javascript和jQuery书籍来完成这些练习。我正在使用Firefox,但也尝试使用Chrome。

如果我理解正确的话,这是可以正常工作并使用HTML事件处理程序的函数。

function checkUsername() {
    var elMsg = document.getElementById("feedback");
    var elUsername = document.getElementById("username");
    if (elUsername.value.length < 5) {
        elMsg.innerHTML = "Not long enough";
    } else {
        elMsg.innerHTML = "";
    }
}

这是dom事件处理程序..我理解它更安全......它不起作用,我无法弄清楚为什么......

function checkUsername() {
    var elMsg = document.getElementById("feedback");
    if (this.value.length < 5) {
        elMsg.innerHTML = "Not long enough";
    } else {
        elMsg.innerHTML = "";
    }
}

var el = document.getElementById("username");
el.addEventListener("blur", checkUsername, false);

这是HTML标记:

<!DOCTYPE html>
<html>

<head>
    <title>Events</title>
    <link rel="stylesheet" href="css/06.css" />
    <script type="text/javascript" src="js/event.js"></script>
</head>
<form method="post" action="http://www.example.org/register">
    <label for="username">Create a username: </label>
    <input type="text" id="username" onblur="checkUsername()" />
    <div id="feedback"></div>
    <label for="password">Create a password: </label>
    <input type="password" id="password" />
    <input type="submit" value="Sign up!" />
</form>
</body>

</html>

实际上来自事件的所有例子,从第253页(事件处理程序,你可以在其网站上找到所有内容)都不起作用......我看是否启用了JavaScript,当我键入javascript时它是。在about:config中启用任何人都可以帮助我,为什么这不起作用?

0 个答案:

没有答案