我想在html页面中模拟给定textarea元素上的keydown事件.因为我正在使用chrome,所以我调用initKeyboardEvent
了我的变量,并将我想要输入的keyCode传递给了textarea.这是我尝试过的:
var keyEvent = document.createEvent('KeyboardEvent');
keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
inputNode.dispatchEvent(keyEvent);
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我正在键入字母,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);
Run Code Online (Sandbox Code Playgroud)
有谁知道如何设置keyCode值?
我有一个动态填充了一些AJAX的输入字段,一旦它被填充,我想让JavaScript自动按下该输入上的"Enter"(键事件13),从而触发另一个隐藏给我的功能.
用jQuery会有可能吗?我现在有这个代码,这是行不通的:
$('#myInputId').focus().trigger({ type : 'keypress', which : 13 });
你对我做错了什么有任何线索吗?
谢谢,
Masiar