我想将一个按键模拟成一个INPUT对象。
由于字段的处理方式,我不能只设置元素值。
似乎解决方案与dispatchEvent
和KeyboardEvent
有关-但是变化太多,并且最不推荐使用。
将可打印字符发送到INPUT字段的当前现代方式是什么?
如果要模拟keypress
事件,则必须这样做:
var evt = new KeyboardEvent('keypress', { key: "a" });
input.dispatchEvent(evt);
正如您所说的,the keypress
event is being deprecated并且不能保证将来能正常工作。建议改用keypress
或beforeinput
。
即使如此,对keydown
的支持仍然很好,如您在keypress
中所见。