2

我开始学习 JavaScript,我想知道为什么这不会永久地使“Ephemeral”出现在按钮之前,为什么它会在按下按钮之前恢复到原始 HTML 页面?

索引.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="mind.js"></script>
</head>
<body>
    <h1 id = "identifier"></h1>
    <form>
        <button value = "button!" onclick="doSomething()"> </button>
    </form>
</body>
</html>

mind.js

function doSomething() {
    document.getElementById("identifier").innerHTML = '<i>Ephemeral</i>';
}
4

1 回答 1

10

因为您正在提交表单,它正在刷新页面。return false如果您还不想提交,请添加到内联处理程序。

<button value = "button!" onclick="doSomething(); return false;"> </button>

或者return在调用之前添加,并添加return false到函数中。

<button value = "button!" onclick="return doSomething();"> </button>

function doSomething() {
    document.getElementById("identifier").innerHTML = '<i>Ephemeral</i>';
    return false;
}
于 2013-09-07T19:34:35.523 回答