Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:从单击事件返回_Javascript_Jquery - Fatal编程技术网

Javascript jQuery:从单击事件返回

Javascript jQuery:从单击事件返回,javascript,jquery,Javascript,Jquery,我在jQuery中编写了一个简单的函数,它创建了一个提供文本输入框和按钮的界面。当我点击按钮时,函数应该返回文本框的值。我知道我不能在click函数中使用return命令,因为它是另一个作用域。因此,我的问题是,如何通过单击函数中的按钮来返回文本框的值。我的代码如下所示: function createInterface() { var text = $(document.createElement('textarea')) .css({ width: "300px"

我在jQuery中编写了一个简单的函数,它创建了一个提供文本输入框和按钮的界面。当我点击按钮时,函数应该返回文本框的值。我知道我不能在click函数中使用return命令,因为它是另一个作用域。因此,我的问题是,如何通过单击函数中的按钮来返回文本框的值。我的代码如下所示:

function createInterface() {
    var text = $(document.createElement('textarea'))
    .css({
      width: "300px",
        height: "100px",
    })
    .appendTo($(document.body));

  var btn = $(document.createElement('button'))
    .text("click")
    .click(function() {
        // this doesn't work
        return text.val();
    })
    .appendTo($(document.body));
}

谢谢,祝您度过愉快的一天。

您并不是真正从事件处理程序返回,而是捕获事件处理程序中的valye,并对其进行处理

函数createInterface(){
变量文本=$(''{
css:{
宽度:“300px”,
高度:“100px”,
}
}).附于(“主体”);
变量btn=$(''{
文本:“单击”,
单击:函数(){
$('body').append('
'+text.val()); } }).appendTo('正文') } createInterface()
--更新--

对不起,我弄错了。代码被修改了。 代码18/4

function createInterface() {
var text = $(document.createElement('textarea'))
.attr("id", "whatyouwant")
.css({
  width: "300px",
    height: "100px",
})
.appendTo($(document.body));

var btn = $(document.createElement('button'))
.text("click")
.on("click",()=> {
    // this work
    console.log($("#whatyouwant").val())
    return $("#whatyouwant").val();
})
.appendTo($(document.body));
}
createInterface();

您希望将其输出到哪里?带有警报的输出,或者该值是否应显示在另一个文本框中?它正在工作(返回值)…但您没有提到返回到哪里?返回值的位置?您可以创建另一个textarea,在onclick函数中,当我通过“createInterface()”调用该函数时,使其.val=text.val()'是否返回值。返回按钮值而不是文本区域值的
function createInterface() {
var text = $(document.createElement('textarea'))
.attr("id", "whatyouwant")
.css({
  width: "300px",
    height: "100px",
})
.appendTo($(document.body));

var btn = $(document.createElement('button'))
.text("click")
.on("click",()=> {
    // this work
    console.log($("#whatyouwant").val())
    return $("#whatyouwant").val();
})
.appendTo($(document.body));
}
createInterface();