我几乎没有使用密钥代码集中他们的输入。
我想:当关注输入时,禁用键码功能,当没有聚焦时,启用。
我试过了:
var hotkeys_function = false;
if (!hotkeys_function ){
$(document).keydown(function(e) {
if (e.keyCode == 71) {
$("#input1").fadeIn();
$("#input1").focus().select();
var hotkeys_function = true;
}
});
}
而且:
if ($("#input1").select()) {
var hotkeys_function = true;
}
但似乎没有工作。
答案 0 :(得分:2)
不是$("#input1").select()
而是$("#input1").focus()
。
事实上,不需要变量,你可以动态地检查和返回输入是否有焦点。
$(document).keydown(function(event) {
if($("#input1").is(":focus")) return; //Will fail if already focused.
if (event.keyCode == 71) { //g
$("#input1").fadeIn();
$("#input1").focus().select();
}
});
<强> Working example 强>
答案 1 :(得分:0)
你可以做的是,没有任何其他变量:http://jsfiddle.net/pimvdb/YnVPQ/。
$(document).keydown(function(e) {
if (e.keyCode == 71) {
if($("input").is(":focus")) return; // abort if any focused textboxes
$("#input1").fadeIn();
$("#input1").focus().select();
}
});