Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
Jquery 正在清除textarea append()_Jquery - Fatal编程技术网

Jquery 正在清除textarea append()

Jquery 正在清除textarea append(),jquery,Jquery,我试着画矩形,并捕捉文本区域中的坐标。提供了一个按钮来清除文本区域 问题1:文本区域未清除(删除的文本在下次更新文本区域时仍然存在) 我尝试了.val(“”),但这似乎只清除了textarea表单。文本在html源代码中仍然可见。此外,它保持清除状态,不允许新条目 问题2:我不确定append如何工作。如果我没有将.empty()放在鼠标向下(即新绘图的开始)上,它将追加整个文本区域,而不是追加最后一行。为什么呢 有关重现问题1的代码和说明,请参阅 (代码改编自) 谢谢 问题1: 之所以使用.v

我试着画矩形,并捕捉文本区域中的坐标。提供了一个按钮来清除文本区域

问题1:文本区域未清除(删除的文本在下次更新文本区域时仍然存在)

我尝试了
.val(“”
),但这似乎只清除了textarea表单。文本在html源代码中仍然可见。此外,它保持清除状态,不允许新条目

问题2:我不确定append如何工作。如果我没有将
.empty()
放在鼠标向下(即新绘图的开始)上,它将追加整个文本区域,而不是追加最后一行。为什么呢

有关重现问题1的代码和说明,请参阅 (代码改编自)


谢谢

问题1: 之所以使用
.val(“”)
,是因为您正在将内容附加到textarea,而不是设置它。要将文本框/文本区域中的内容设置为空,请使用

$("#clearoutput").click(function (e) {
  $("#output").val('');
});
问题2:

您应该使用
.val()
来获取/设置/修改textarea内容

$("#output").val(function(i,oldval){
  return !oldval.length ? os :oldval+ "\n" + os;
});

您的代码中有几个bug

1-您有一个应用多次的事件侦听器。您必须在容器上添加
.off(“mousemove”)
.off(“mouseup”)

2-输入字段没有DOM子项。因此,不能在输入中附加DOM元素。对于输入元素,可以使用
.val()
而不是
.append()

3-清除按钮可以清除文本区域,但不能清除绘图。所以我将绘图信息存储到一个数组中。清除后,可以访问旧图形信息

你可以看到这把小提琴演奏得很好


(woodduck添加了1行(根据注释)以使其按需要工作:)

您需要此项吗?使用$(“#output”).val()将值设置为textarea。@woodduck可以检查所有答案吗?您是否尝试过$(“output”).html(“”)@AnoopJoshi你的小提琴是目前为止最接近的,但我想保留前两个矩形的坐标。您的演示仅在文本区域显示一行。我会仔细看看你的代码。谢谢你的评论。我会仔细阅读的。与此同时,我只是试着拉小提琴,但我看不到行为上的变化。清除前创建的文本在清除后仍然存在。我不想清除绘图,只想清除文本区域。我还需要阵列吗?为了清除文本区域,我尝试了outputs=[];在clearoutput函数中(在小提琴的第8行之后),这似乎是可行的。因此,数组的想法确实有效。仅将数组用于旧绘图信息存储。如果你不想,你就不用了。我试过了(或者类似的方法),但是我没有发现使用append有什么不同。在您的workign演示中,行是重复的,这不是我想要的。
$("#output").val(function(i,oldval){
  return !oldval.length ? os :oldval+ "\n" + os;
});