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

时间:2016-06-30 16:34:06

标签: 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 = text;
            input.value = '';
            //return newText  - I want to return 'newText' to 'takeInputText()' so i can 
                               // use 'takeInputText()' as a variable
        }
    }   
}
takeInputText();

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:1)

您不能将takeInputText()用作变量,因为您在takeInputText内执行的操作只是将keyup侦听器附加到input元素,并且函数立即返回({在这种情况下返回{1}}。

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

undefined