有人可以帮我解决这个问题。我将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();
答案 0 :(得分:3)
如果您愿意在用户按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>
&#13;
答案 1 :(得分:1)
您不能将takeInputText()
用作变量,因为您在takeInputText
内执行的操作只是将keyup
侦听器附加到input
元素,并且函数立即返回({在这种情况下返回{1}}。
要使用该值,请将变量作为参数传递给处理程序内的条件为true时要调用的函数,例如:
undefined