【问题标题】:How can I pass two keydown events at the same time with JavaScript?如何使用 JavaScript 同时传递两个 keydown 事件?
【发布时间】:2020-04-21 20:39:41
【问题描述】:

有没有一种使用 jQuery 或 vanilla JS 的方法可以传递 2 次击键?

示例:当我按下空格键作为事件监听器时,回车键和 shift 键都应该被按下并一起传递。我设法让代码运行,但只需要一个按键。有人可以对此有所了解吗?

$(document).keydown(function(event) {
    var keycode = (event.keyCode ? event.keyCode : event.which);
    if (keycode == 13) {

        document.addEventListener('keydown', function(ev) {
            console.log(ev.which);
        });

        var e = new KeyboardEvent('keydown', {
            'keyCode': 190,
            'which': 190
        });
        console.log(e);
        document.dispatchEvent(e);
    }
});

【问题讨论】:

  • 你为什么不调用你试图触发的实际函数?这看起来有点像传真电子邮件。

标签: javascript


【解决方案1】:

要向 KeyPress 事件添加 shiftctrlalt 等修饰符,您可以在第二个构造函数参数中传递这些属性。请参阅文档here

// ex. Shift+Enter
var e = new KeyboardEvent("keydown", {
  key: "Enter",
  shiftKey: true,
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 2011-08-10
    相关资源
    最近更新 更多