javascript如何将值从事件函数返回到外部函数

javascript如何将值从事件函数返回到外部函数,javascript,jquery,function,variables,return,Javascript,Jquery,Function,Variables,Return,谁能帮我一下吗。我知道如何从输入事件函数返回var到外部函数 function takeInputText() { var input = document.getElementById('inputText') var newText; input.onkeyup = function(e) { var text = input.value; if ( e.which == 13 ) { newText =

谁能帮我一下吗。我知道如何从输入事件函数返回var到外部函数

function takeInputText() {

    var input = document.getElementById('inputText')
    var newText;

    input.onkeyup = function(e) {

        var text = input.value;
        if ( e.which == 13 ) {
            newText = text;
            input.value = '';
            //return newText  - I want to return 'newText' to 'takeInputText()' so i can 
                               // use 'takeInputText()' as a variable
        }
    }   
}
takeInputText();
您不能使用takeInputText作为变量,因为您在takeInputText中所做的只是将一个键控侦听器附加到输入元素,在这种情况下,函数返回undefined后立即返回

要使用该值,请将变量作为参数传递给要在处理程序内的条件为true时调用的函数,例如:

input.onkeyup = function(e) {
    var text = input.value;
    if ( e.which == 13 ) {
        input.value = '';
        yourFunction(text);
    }
}
您不能使用takeInputText作为变量,因为您在takeInputText中所做的只是将一个键控侦听器附加到输入元素,在这种情况下,函数返回undefined后立即返回

要使用该值,请将变量作为参数传递给要在处理程序内的条件为true时调用的函数,例如:

input.onkeyup = function(e) {
    var text = input.value;
    if ( e.which == 13 ) {
        input.value = '';
        yourFunction(text);
    }
}

如果您愿意在用户按enter键后使用输入值,请在输入上绑定keyup事件,并在回调函数中操作该值。 您还可以调用另一个可以传递输入值的函数

例如:

var input=document.getElementById'inputText'; input.onkeyup=函数E{ var代码=e.which | | e.keyCode; 如果代码==13{ 附加价值; 这个值=; } } 函数appendInputvalue{ var elem=document.createElement'h2'; elem.textContent=值; document.getElementById'preview'。appendChildelem; }
如果您愿意在用户按enter键后使用输入值,请在输入上绑定keyup事件,并在回调函数中操作该值。 您还可以调用另一个可以传递输入值的函数

例如:

var input=document.getElementById'inputText'; input.onkeyup=函数E{ var代码=e.which | | e.keyCode; 如果代码==13{ 附加价值; 这个值=; } } 函数appendInputvalue{ var elem=document.createElement'h2'; elem.textContent=值; document.getElementById'preview'。appendChildelem; }
你怎么回事啊?newText变量也可以从takeInputText方法访问。这不是重复的,但是一个很好的提示是您想对该输入执行什么操作?我假设你走错了方向……我想将“newText”返回到“takeInputText”,这样我可以//使用“takeInputText”作为变量,takeInputText将传递给什么?为了帮助你理解答案,你想做的事情在你问的表单中是不可能的。onkeyup函数是异步的。它不会与其他代码同时调用,而是在用户点击并释放键时调用。所以你不能返回一个值,因为没有任何东西可以返回。相反,如各种答案所示,要在代码中的其他地方使用newText,必须调用函数并将其作为参数传递给该函数。您的问题是什么?newText变量也可以从takeInputText方法访问。这不是重复的,但是一个很好的提示是您想对该输入执行什么操作?我假设你走错了方向……我想将“newText”返回到“takeInputText”,这样我可以//使用“takeInputText”作为变量,takeInputText将传递给什么?为了帮助你理解答案,你想做的事情在你问的表单中是不可能的。onkeyup函数是异步的。它不会与其他代码同时调用,而是在用户点击并释放键时调用。所以你不能返回一个值,因为没有任何东西可以返回。相反,如各种答案所示,要在代码的其他地方使用newText,必须调用函数并将其作为参数传递给该函数。