我正在制作一个基于文本的浏览器游戏,它是使用Javascript和JQuery创建的。
我遇到了用户输入的问题。
我以前使用
现在我想让它看起来更好,所以我自己设计了一个输入框,并在其上方添加了一个漂亮的聊天框。 我想知道如何让代码停止执行,直到用户按下回车键(我已经检测到了回车键的按下事件,文本已被附加到对话框中,我只需要让代码在这发生之前等待才能继续)。
以下是我的一些代码:
输入函数
我想做的只是将数据保存到一个变量中,然后像使用
prompt()
,因为这很容易使用,允许我将输入保存到变量中并使代码等待输入。现在我想让它看起来更好,所以我自己设计了一个输入框,并在其上方添加了一个漂亮的聊天框。 我想知道如何让代码停止执行,直到用户按下回车键(我已经检测到了回车键的按下事件,文本已被附加到对话框中,我只需要让代码在这发生之前等待才能继续)。
以下是我的一些代码:
输入函数
function input_field() {
var inputField = $('#dialog-input');
var messageField = $('#dialog-text');
inputField.keyup(function (e) {
if (e.keyCode == 13) {
window.userInput = inputField.val();
if(userInput != '') {
messageField.append('You: ' + window.userInput + '<br>');
inputField.val('');
messageField.scrollTop(999999999);
}
}
});
}
我想做的只是将数据保存到一个变量中,然后像使用
prompt()
一样使用switch-case检查它,但现在它只会给我一个错误,因为它尝试执行所有代码,而不是等待用户输入。
prompt()
或alert()
)。JavaScript根本不是这样工作的。通常解决此问题的方法是禁用页面上的其余UI,弹出对话框,然后响应OK或Cancel事件,并基于其中一个事件调用其余代码。 - jfriend00