javascript如何将值从事件函数返回到外部函数
谁能帮我一下吗。我知道如何从输入事件函数返回var到外部函数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 =
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,必须调用函数并将其作为参数传递给该函数。