我有这个代码:
$(document).bind('keydown','ctrl+1',function () { alert('You found the hotkey ctrl+1!'); });
但是如果我点击EITHER控制或1键,这个代码似乎触发了.当只按两个按键时,我只想要这个代码触发.
任何人都可以澄清我失踪的东西吗?
解决方法
正如你在
documentation中看到的那样,绑定函数的第二个参数是eventData,它是
An object containing data that will be passed to the event handler.
这用于从用作处理程序的内部函数外部访问变量,以避免从关闭访问可变变量的问题.
如果你想过滤触发动作的键,只需在函数内部处理它.
$(document).bind("keydown",function(ev){ // notice the function argument if(ev.ctrlKey && ev.keyCode == 49){ // 49 being the keyCode for "1" alert("Foo!"); } });