首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在react应用中使用Jquery更新textarea值

如何在react应用中使用Jquery更新textarea值
EN

Stack Overflow用户
提问于 2019-05-30 08:51:48
回答 2查看 253关注 0票数 0

我正在构建一个Chrome扩展,它覆盖在第三方react网站上。我正在尝试使用以下代码更新该应用程序中的文本区域的值:

代码语言:javascript
复制
$('textarea').val("Text to go in textarea.");

代码成功地更新了文本区,但是一旦用户单击文本区,DOM似乎就会重新生成,并且值变为空白。

更新文本区域中的值,使其在用户单击并重新生成DOM后仍保持不变,最好的方法是什么?我不是react专家,但我猜textarea与状态有关。有没有办法在我的chrome扩展中通过我自己的jquery更新它?

为了清楚起见,这个文本区域属于一个我无法控制的第三方网站/react应用程序。我正试着通过我自己的google chrome扩展来操作它。我认为最简单的方法是以某种方式模拟实际的输入,以便让react应用程序认为用户输入了我的输入,但是我到处搜索,都找不到这样做的方法。

EN

回答 2

Stack Overflow用户

发布于 2019-05-30 09:26:55

尝试使用DOM Html元素的设置值:

代码语言:javascript
复制
document.getElementById("textarea").value = "Johnny Bravo";
票数 0
EN

Stack Overflow用户

发布于 2019-05-30 12:53:18

根据@Panther的建议展开,您可以像上面一样设置该值,然后触发onChange或按键事件等,以保存状态或属性的更改。现在,由于React使用合成事件,因此您需要触发它,如下所示。

代码语言:javascript
复制
$('textarea').val("Text to go in textarea.");

$.each(document.getElementsByTagName("textarea"),(index,Element)=>{
    let event = new Event("change"); // repeat for keypressup,down,input etc.
    Element.dispatchEvent(event);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56370286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档