【问题标题】:Assign function for lshift down in jquery and keydrown plugin?在 jquery 和 keydrow 插件中为 lshift down 分配功能?
【发布时间】:2014-07-18 11:44:42
【问题描述】:

我使用 Keydrow 插件,所以这与字母键配合得很好:

kd.W.down(function () {
    //...
});

如何将相同的功能分配给 lshift 而不是 W? (我不知道如何在这里输入键码而不是字母)。

如果可能的话,我怎样才能选择 2 个键码并为 lshift+W 做点什么? (同时按下两者时)。

编辑

似乎通过键码选择任何键的最佳和最简单的方法是编辑插件本身 - 在 KEY_MAP 下编辑键码列表。例如添加:

,'LSHIFT': 16

到列表中,并致电kd.LSHIFT.down

关于 lshift+W 的问题仍然存在 - 是否可以将 2 个键码放在此 KEY_MAP 列表中的 1 个名称下? (将是最好/最简单的解决方案)

【问题讨论】:

标签: javascript jquery keydown shift keycode


【解决方案1】:

所以在keydrow插件中编辑KEY_MAP下的列表,例如添加:

,'LSHIFT': 16

LSHIFT+W可以这样实现:

kd.W.press(function () {
    kd.LSHIFT.press(function () {
        //...
        console.log();
    });
    //optional...
    console.log();
});
kd.W.up(function () {
    kd.LSHIFT.press(function () {
        console.clear();
    });
    console.clear();
});

down 可以用来代替press,具体取决于所需的行为。要在更复杂的情况下绑定/取消绑定键,请使用Keydrown plugin instructions

【讨论】:

    【解决方案2】:

    我是 Keydrow 的开发者。抱歉我直到现在才看到这个! kd.map.js supports the generic "shift" keycode (16),但我不熟悉这与左移按钮的键码有何关系(请随时插话并澄清)。

    任何人,如果将 'LSHIFT': 16 添加到地图中可以正常工作,我建议您使用以下方法来实现“左移 + W”功能:

    kd.LSHIFT.down(function () {
      if (kd.W.isDown()) {
        // Your code here
      }
    });
    

    isDown 是一个较新的 Keydrow API,我相信是在提出这个问题后引入的。

    我希望这会有所帮助。如果LSHIFT 键码在supported browsers 中始终有效,请提交Pull Request

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多