javascript - 调用 KeyPress 事件而不实际按下键

标签 javascript keypress

只是想知道。是否可以在 JavaScript 中调用按键事件而无需实际按下按键?例如,我的网页上有一个按钮,当单击该按钮时,我想调用一个事件,就好像按下了一个特定的键一样。我知道这很奇怪,但这可以用 JavaScript 完成吗?

最佳答案

是的,这可以使用 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 );

关于javascript - 调用 KeyPress 事件而不实际按下键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10514123/

相关文章:

javascript - 如何在 React 应用程序的页面上的任何位置检测 keydown?

c# - 模拟输入 : key pressed, 保持和释放

javascript - 如何添加低音滤波器

JavaScript 关闭错误

javascript - Firefox 操作系统按键与 jQuery

JavaScript Keycode 46 是 DEL 功能键还是 (.) 句号?

java - 如何使 keyPress 与 keyListener 一起工作

javascript - 如何在 for 循环中使用 mongoose 函数?

Javascript混淆和极端情况在生产解决

javascript - 使用 jQuery mobile,想要完全禁用导航