我对Javascript很陌生,所以我想我会从基于文本的游戏开始。我需要做的是能够检测游戏何时等待命令,以及游戏何时等待答案。这就是我所拥有的。
var textIn = document.getElementById('input-textbox');
var textOut = document.getElementById("output-textbox");
function process(input) {
var command = input.split(" ")[0];
if(command == "help") {
return "Help dialog";
}else{
return "Unknown command: " + input + ". Please type /help for a list of commands.";
}
}
function go() {
var input = textIn.value;
textIn.value = "";
output(process(input));
}
function output(text){
textOut.value += text + "\n";
}
function createPlayer(){
output("Please Type Your Name")
// Wait for player response and set it as a variable.
}
createPlayer();
实现这一目标的最佳方式是什么?
答案 0 :(得分:1)
您有几个选项,可以使用onclick并有一个用户点击的按钮,然后调用您的功能来填写HTML答案的答案(id =" output-textbox"在您的例子)< - 我的投票*。
...或者您可以选择检查哪个元素是聚焦的,或者是否在输入框中点击了tab / enter,然后在选项卡/输入后点击您的答案字段。我认为后一种方法,你应该有一个HTML5占位符属性来说"完成后点击标签{enter}"或者沿着这些行的某些东西然后在关注元素时检查选项卡 - 这可以通过jQuery选择器完成或覆盖该输入元素的当前焦点方法或者可能使用document.activeElement来查看关注的内容,然后如果它是重点关注的答案,输入不是填空等等,等等。
*如果您不熟悉Javascript,我说有两个按钮(一个标记为'回答'一个标记为' clear'),然后使用HTML按钮元素的onclick属性轻松调用Javascript方法。这将让你开始并更直接,仔细检查你有什么工作DOM操作,并继续使用更少的按钮和更光滑的DOM操作。
祝你好运!答案 1 :(得分:0)
一个非常简单的实现是使用带有提交侦听器的表单,如果一切都按计划取消,则取消提交。用户可以在输入中输入文本并在textarea中查看结果。
textarea已禁用,因此用户无法输入文本,但脚本可以。用户可以输入输入然后只需按Enter键,或选择提交按钮并按Enter键,或单击提交按钮。该脚本在提交时运行,并取消它以使它们保持在同一页面上。
如果禁用脚本,表单将提交,您可以在服务器上处理。
<form onsubmit="go(); return false;">
<input id="input-textbox">
<textarea id="output-textbox" rows="20" cols="50" disabled></textarea>
<input type="submit" value="Ask question">
</form>