在jquery和keydrown插件中为lshift分配函数?

时间:2014-07-18 11:44:42

标签: javascript jquery keydown shift keycode

我使用Keydrown插件,所以这与字母键很好用:

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

如何为lshift而不是W分配相同的功能? (我不知道如何在这里放一个键码而不是字母)。

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

修改

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

,'LSHIFT': 16

到列表中,然后拨打kd.LSHIFT.down

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

2 个答案:

答案 0 :(得分:0)

所以在keydrown插件中编辑KEY_MAP下的列表,例如add:

,'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

答案 1 :(得分:0)

我是Keydrown的开发人员。对不起我直到现在才看到这个! kd.map.js supports the generic "shift" keycode16),但我不熟悉左移按钮的键码与具体的关键代码(有人请随意插入并澄清)

Anywho,如果将'LSHIFT': 16添加到地图中,可以按照自己的意愿运行,这就是我推荐用于实现"左移+ W"功能性:

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

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

我希望这会有所帮助。如果LSHIFT密码在supported browsers内保持一致,请提交Pull Request