我想keydown
在 html 页面中的给定 textarea 元素上模拟事件。因为我使用的是 Chrome,所以我调用initKeyboardEvent
了我的变量,并将keyCode
我想要输入的内容传递给了 textarea。这是我尝试过的:
var keyEvent = document.createEvent('KeyboardEvent');
keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
inputNode.dispatchEvent(keyEvent);
在这段代码中,我正在输入字母,m但是 textarea 只得到keyCode
13,这是Enter关键。所以,我尝试了一个我在网上看到的覆盖代码,该代码将值设置为keyCodeVal
,但没有成功。
var keyEvent = document.createEvent('KeyboardEvent');
Object.defineProperty(keyEvent, 'keyCode', {
get : function() {
return this.keyCodeVal;
}
});
keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
keyEvent.keyCodeVal = 77;
inputNode.dispatchEvent(keyEvent);
有谁知道如何设置keyCode
值?