当松开 shift 键时,我希望能够运行一个函数。
我知道可以使用类似以下代码来检测 shift 键:
$(window).bind("keydown keyup", function(ev) { ... });
它非常适用于检测键盘组合键(例如
shift+a
)。问题是,如果您想要检测shift键本身,则会触发一个keydown
事件,其ev.shiftKey=false
,ev.which=16
,以及一个keyup
事件,其ev.shiftKey=true
,ev.which=16
。我尝试在keyup
上附加此组合的事件,但当按下两个shift键时,它会以非常微妙的方式失败:对于第二个shift键,您将同时获得true,16
的keyup/keydown
,然后在释放第一个shift键时,您会再次获得一个true,16
的keyup
。是否有任何简洁的方法来解决这个问题?或者我应该忽略两个shift键的情况?