[英]javascript how to return a value from event function to outer function
有人可以帮我吗 我从输入事件函数到外部函数返回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();
如果您愿意在用户按下Enter键后使用输入的值,则将keyup
事件绑定到输入上并在回调函数中操作该值。 您还可以调用另一个函数,在该函数中可以传递输入值。
例:
var input = document.getElementById('inputText'); input.onkeyup = function(e) { var code = e.which || e.keyCode; if (code == 13) { appendInput(this.value); this.value = ''; } } function appendInput(value) { var elem = document.createElement('h2'); elem.textContent = value; document.getElementById('preview').appendChild(elem); }
<input type="text" id="inputText"> <div id="preview"></div>
您不能将takeInputText()
用作变量,因为您在takeInputText
中所做的只是将keyup
侦听器附加到input
元素,并且该函数立即返回(在这种情况下,返回undefined
)。
要使用该值,请将变量作为参数传递给要在处理程序内部的条件为true时调用的函数,例如:
input.onkeyup = function(e) {
var text = input.value;
if ( e.which == 13 ) {
input.value = '';
yourFunction(text);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.