Textarea在浏览器之间没有相同的更新方式

时间:2016-05-10 15:14:43

标签: javascript jquery html cross-browser textarea

我有一个 textarea ,我正在尝试使用jQuery更新,我发现根据我使用的浏览器得到不同的结果。

看看这个:https://jsfiddle.net/JBookham/mwaa6z2f/4/

我正在使用uri_escape_utf8更新显示的文字。这最初是有效的,直到我尝试在textarea中输入内容。在Chrome中执行此操作后,$('#txtArea').html("Example text");会停止更新textarea的值。我已通过JavaScript调试,可以看到textarea的innerHtml正在更新,但不是值。我尝试在Edge和innerHtml中做同样的事情,并且值按预期更新。

我的问题是,有没有人知道为什么会发生这种情况或知道我可以在浏览器之间以相同的方式使用它?

由于

更新
.html()确实在浏览器之间以相同的方式更新textarea,但它没有提供我正在寻找的相同功能。但是this answer有一种方法可以使用.val()并仍能解码我传入的文字,如下所示:
.val()
感觉有点hacky,就像应该有一个更好的方法,但至少目前它给了我一些在浏览器之间以相同方式工作的东西。

1 个答案:

答案 0 :(得分:2)

您应该使用.val()来执行此操作。

https://jsfiddle.net/mwaa6z2f/7/