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

javascript how to return a value from event function to outer function

本文关键字:函数 返回值 外部 事件 Javascript      更新时间:2023-09-26

有人能帮我一下吗?1 .如何从输入事件函数返回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();

如果您愿意在用户按回车键时使用输入的值,请在输入上绑定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)。

要使用该值,将该变量作为参数传递给一个函数,当处理程序中的条件为真时,您希望调用该函数,例如:

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