我将此代码添加到我的网站:
$(document).bind('keydown', 'i', function(){
$("#af").click();
return false;});
问题在于它适用于任何键,不仅适用于'i'。怎么了?
答案 0 :(得分:1)
在您的代码中,'i'
是一个传递给回调函数的参数。它对您的事件将响应的字符代码没有影响。你可以通过
$(document).bind('keydown', function(e){
if (String.fromCharCode(e.keyCode) == 'I') {
$("#af").click();
e.preventDefault();
}
});
答案 1 :(得分:1)
因为jQuery Doc说:
event.which规范化event.keyCode和event.charCode。它是 建议观看event.which键盘输入键。更多 详情,请阅读event.charCode on the MDC。
然后更好地使用
$(document).bind('keydown', function(e){
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 73) {
$("#af").click();
return false;
}
});
答案 2 :(得分:0)
正确的方法是:
$(document).bind('keydown', function(e){
if (e.keyCode =='i') {
$("#af").click();
return false;
}
});