覆盖jQuery中的keypress事件

时间:2016-06-28 09:08:20

标签: jquery accessibility

我正在尝试使我的应用程序可访问,并且在这样做时,其中一个要求表明整个应用程序应该可以通过键盘使用。为了完成这一点,我已将keypress添加到以下代码

    $("#id").unbind("click keypress").bind("click keypress", function () {/*some code*/});

现在这确实有效,但问题是它也适用于其他所有键。我只想要输入 SpaceBar 。我可以使用keydown捕获密钥代码并仅在其13(Enter)或32(Space)时响应它,但我愚蠢地在70多个地方进行了按键更改并且仅在测试时发现它。有没有办法我可以覆盖默认的jQuery keypress事件,这样它只会响应按下上面的2个键?

1 个答案:

答案 0 :(得分:0)

尝试以下

  $("#id").unbind("click keypress").bind("click keypress", function (e) {
if(e.which == 13 || e.which == 32){
/*some code*/
}

});

如果适合您,请更新我