我正在创建一个转换网络应用程序来自学 Javascript。用户可以使用数字键盘(基本上是没有运算符的计算器)输入数据。我还设置了一个功能来检测像数字键盘一样插入数据的击键(1-9)。还有清除所有数据的字符'c'
我的问题是我还有一个搜索字段(它使用自动完成功能使用户能够搜索其他转化)。我不希望用户使用“c”或数字键搜索某些内容,并让它在数字键盘和搜索字段中输入数据。
我的想法是创建一个 if 语句来确定搜索字段是否处于活动状态(聚焦),以及是否将变量(启用)更改为 false,从而禁用击键检测。
我遇到的问题是持有带有焦点属性的 if 语句的函数不起作用。
如果我的漫无边际没有意义,希望代码能把事情弄清楚。
这是带有焦点属性的 if 语句
$(document).ready(function(){
if($(':focus').attr('#searchInput') == 'input')){
enabled === false;
}
});
这是按键检测的代码(我省略了多余的部分以节省空间
document.onkeydown = function(event){
var key = event.charCode || event.keyCode;
if(enabled === true){
if(key === 67){
clearInput(input); //Clears form input (input is my form ID)
}else if(key === 48){
writeInput(input, zero); //Zero is a var equaling 0
}
...
}else{
return false; //if enabled is false don't detect keystrokes
}
};
任何帮助将不胜感激。如果有任何不妥之处,我会很乐意解释(或编辑帖子。)