繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM