根据用户输入执行javascript代码

时间:2014-05-15 11:20:39

标签: javascript jquery

我正在使用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检查结果,但这会使我的代码看起来非常难看并且无法重复使用。

我的问题是:如何让系统等待用户输入,然后根据给定的信息执行操作?

1 个答案:

答案 0 :(得分:0)

我认为您必须在输入字段中注册onChange侦听器:

$('#dialog-input').onChange(function() {
    // Handle user's input
});

这样,当用户按下Enter或离开该字段时,系统会收到通知。