只是想知道。是否可以在JavaScript中调用按键事件而无需按键?例如,我可以说,我的网页上有一个按钮,当点击该按钮时,我想调用一个事件,好像按下了某个特定的按键一样。我知道这很奇怪,但可以用JavaScript完成。
答案 0 :(得分:4)
是的,可以使用initKeyEvent完成此操作。但是,使用它有点冗长。如果这困扰你,请使用jQuery,如@WojtekT的回答所示。
否则,在vanilla javascript中,这是它的工作原理:
// Create the event
var evt = document.createEvent( 'KeyboardEvent' );
// Init the options
evt.initKeyEvent(
"keypress", // the kind of event
true, // boolean "can it bubble?"
true, // boolean "can it be cancelled?"
null, // specifies the view context (usually window or null)
false, // boolean "Ctrl key?"
false, // boolean "Alt key?"
false, // Boolean "Shift key?"
false, // Boolean "Meta key?"
9, // the keyCode
0); // the charCode
// Dispatch the event on the element
el.dispatchEvent( evt );
答案 1 :(得分:3)
如果你正在使用jquery:
var e = jQuery.Event("keydown");
e.which = 50; //key code
$("#some_element").trigger(e);