Qwe*_*rty 6 html javascript jquery reactjs
如果表单使用基于 React JS 的界面,并且输入字段值以编程方式更改,您如何以编程方式触发值更改事件?
我知道 DOM 输入事件在 React 中被转换为合成更改事件。所以这曾经用于输入元素,它用于在以编程方式输入输入值后启用表单中的按钮。
var event = new Event('input', { bubbles: true });
inputElement.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
但可能因为使用了更新版本的 React JS 而不再工作。这不起作用的任何原因?现在的替代方案是什么?我什至尝试触发诸如更改、聚焦、模糊事件之类的事件,但它们都不起作用。还尝试更改 value 属性而不是 say
inputElement.value = "test";
Run Code Online (Sandbox Code Playgroud)
但是上面的事件调度仍然不起作用。
Dan*_*mov 11
请参阅描述解决方案的答案:
var setValue = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;
setValue.call(input, 'my new value');
var e = new Event('input', { bubbles: true });
input.dispatchEvent(e);
Run Code Online (Sandbox Code Playgroud)
这仅适用于input标签;因为textarea你会想要的HTMLTextAreaElement。
| 归档时间: |
|
| 查看次数: |
5155 次 |
| 最近记录: |