我正在使用javascript和jQuery开发自己的游戏。 现在我有一种方法让用户输入一个字段,按下输入后,它将该文本放入“文本框”(实际上只是一个div)。
我的功能如下:
function input_field() {
var inputField = $('#dialog-input');
var messageField = $('#dialog-text');
inputField.keyup(function(e) {
if (e.keyCode === 13) {
window.userInput = inputField.val();
// Check if the input area is not empty (prevents adding white lines)
if(userInput !== '') {
messageField.append('You: ' + window.userInput + '<br>');
inputField.val('');
messageField.scrollTop(999999999);
return true;
} else {
return false;
}
}
});
}
我还有一个向用户显示消息的功能,其工作方式如下:
function cAlert(mssg) {
var message = mssg;
var messageField = $('#dialog-text');
messageField.append(message + '<br>');
messageField.scrollTop(999999999);
}
这里的问题是我想把它变成一个问题+答案系统,系统会问一个问题(主要是“你进入房间,你做什么?”),用户提供了一个问题。回答(环顾四周)。
我知道我可以使用prompt
执行此操作,然后使用switch case
检查结果,但这会使我的代码看起来非常难看并且无法重复使用。
我的问题是:如何让系统等待用户输入,然后根据给定的信息执行操作?
答案 0 :(得分:0)
我认为您必须在输入字段中注册onChange
侦听器:
$('#dialog-input').onChange(function() {
// Handle user's input
});
这样,当用户按下Enter
或离开该字段时,系统会收到通知。