【问题标题】:Fire Events after change of React Textarea's value from Javascript从 Javascript 更改 React Textarea 的值后触发事件
【发布时间】:2021-03-04 10:41:47
【问题描述】:

我有一个带有 webview 的小 Android 应用程序。我想从那里设置一个 textareas 值,这似乎是一个反应对象。

到目前为止,它正在工作,我得到了 textarea 的句柄,并且可以通过我自己的 javascript 例程设置值。但是没有调用触发器,所以表单验证给了我一个错误,该字段将为空。

我可以用

操作文本区域

document.getElementById('textareaId').value = "new value";

(我通过它的属性找到了元素并自己设置了id以备后用,所以不需要告诉react可能没有使用id)

如何触发反应对象上的事件?

我已经尝试在 textarea 本身上触发事件,但这似乎不起作用。在浏览器中,我看到了触发器onchange, onkeyup, onkeydown ,但我无法从外部调用它们,也无法通过浏览器开发工具显示它们。

也欢迎任何解决此问题的方法!

【问题讨论】:

    标签: javascript reactjs typescript


    【解决方案1】:

    似乎只是正确类型的事件的问题:

    var evt = document.createEvent("Events");            
    evt.initEvent("change", true, true);                
    textarea.dispatchEvent(evt);
    

    来自这个答案simulate keyboard input / insert string into textarea (adwords)

    成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      相关资源
      最近更新 更多