我想模拟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
值?