Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据用户输入执行javascript代码_Javascript_Jquery - Fatal编程技术网

根据用户输入执行javascript代码

根据用户输入执行javascript代码,javascript,jquery,Javascript,Jquery,我正在使用javascript和jQuery开发自己的游戏。 现在,我有了一种方法,用户可以在字段中键入内容,然后按enter键,将该文本放入“文本框”(实际上只是一个div) 我的功能如下: function input_field() { var inputField = $('#dialog-input'); var messageField = $('#dialog-text'); inputField.keyup(function(e) { if (e.keyCode ===

我正在使用javascript和jQuery开发自己的游戏。 现在,我有了一种方法,用户可以在字段中键入内容,然后按enter键,将该文本放入“文本框”(实际上只是一个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);
}
函数输入_字段(){
var inputField=$(“#对话框输入”);
var messageField=$(“#对话框文本”);
inputField.keyup(函数(e){
如果(如keyCode===13){
window.userInput=inputField.val();
//检查输入区域是否为空(防止添加白线)
如果(用户输入!=''){
messageField.append('You:'+window.userInput+'
'); inputField.val(“”); messageField.scrollpop(999999999); 返回true; }否则{ 返回false; } } }); }
我还有一个向用户显示消息的功能,其工作原理如下:

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);
}
功能cAlert(mssg){
var消息=mssg;
var messageField=$(“#对话框文本”);
messageField.append(message+'
'); messageField.scrollpop(999999999); }
这里的问题是,我想把它变成一个问答系统,系统会问一个问题(主要是“你进入一个房间,你做什么?”),用户会给出答案(环顾四周)

我知道我可以使用
提示符
,然后用
开关盒
检查结果,但这会使我的代码看起来非常难看,无法重用


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

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

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

这样,当用户按Enter键或离开该字段时,您的系统将收到通知。

我的服务器?在onchange函数中我会做什么?对不起,我指的是系统。在你的监听器中,你可以阅读用户的答案,然后做一些事情:回复,做一个动作,等等。这里的要点是onChange监听器比keyUp监听器效率更高,因为后者会为每个字符触发一个事件,这不是你想要的。但这不会改变代码实际处理输出的方式。我需要系统提问并等待回答。现在我可以问一个问题并给出答案,我只需要等待的部分。这实际上是等待的部分。。。在javascript中,只有一个线程,因此不能有阻塞线程。因此,听众是你真正需要的,因为他们也这样做。。。以非阻塞方式(这意味着您的用户将能够在服务器“等待”时执行操作)@chandu我有多个文件。小提琴不是一种选择。你需要类似的东西吗?