我的表单中有一个输入。如果我使用另一个 JavaScr 更改此文本框 (changeProgramatic) 中的值...
我的表单中有一个输入。
<input type="text" id="changeProgramatic" onchange="return ChangeValue(this);"/>
如果我使用另一个 JavaScript 函数更改此文本框 (changeProgramatic) 中的值,它将不会触发更改事件。(注意:我将“this”传递给方法)
如果有人正在使用 React,以下内容将会很有用:
https://.com/a/62111884/1015678
const valueSetter = Object.getOwnPropertyDescriptor(this.textInputRef, 'value').set;
const prototype = Object.getPrototypeOf(this.textInputRef);
const prototypeValueSetter = Object.getOwnPropertyDescriptor(prototype, 'value').set;
if (valueSetter && valueSetter !== prototypeValueSetter) {
prototypeValueSetter.call(this.textInputRef, 'new value');
} else {
valueSetter.call(this.textInputRef, 'new value');
}
this.textInputRef.dispatchEvent(new Event('input', { bubbles: true }));