【发布时间】:2015-02-20 16:46:24
【问题描述】:
我的 javascript 代码有问题。
<!DOCTYPE html>
<html>
<head>
<title>js-game</title>
<script src="script.js" type="text/javascript"></script>
<script src="story.js" type="text/javascript"></script>
<link href="style.css" rel="stylesheet" type="text/css"/>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div id="game">
<ul id="output">
<li onclick="main()">Click here to start!</li>
</ul>
<input autofocus id="inputLine" type="text">
<p onclick="" id="enterInput">ENTER</p>
</div>
</body>
</html>
// Variables
var log="<li>Hello</li>";
var lastVar="";
// Functions
function getInput() {
document.getElementById("enterInput").addEventListener("click", function() {
return document.getElementById("inputLine").value;
document.getElementById("inputline").value="";
});
}
function output(output) {
log=log + "<li>" + output + "</li>";
document.getElementById("output").innerHTML=log;
}
function main() {
output("What's your name?");
alert(getInput());
}
正如您可能看到的,我想从 ID 为 inputLine 的 <input type="text"> 获取输入。还有一个 id 为 enterInput 的按钮。
但我得到的只是未定义的,而且我已经为此工作了很长时间,所以我感到很沮丧。
抱歉英语不好。
【问题讨论】:
-
我们能看到 HTML 吗?
-
您设置
.value的行将永远无法到达,因为您在它之前执行 return 语句,事件回调也不会返回任何内容 -
这行不通,因为你不能像那样使用
return。具体来说,在单击按钮并且有输入之前,您不能使解释器停止。也许你想要一个承诺或什么? -
我认为你应该添加
clickeventListener 和函数getInput -
我们能看到剩下的 JS 吗?据我所知,从未调用过“getInput()”。
标签: javascript html web