我正在創建一個轉換web應用程序來教我自己的Javascript。用戶可以用數字鍵輸入數據(基本上是一個沒有操作員的計算器)。我還設置了一個函數來檢測插入數據的按鍵(1-9),就像數字鍵盤一樣。並且還有清除所有數據的字符'c'jquery檢測輸入焦點
我的問題是我也有一個搜索字段(它使用自動完成來使用戶搜索其他轉換)。我不希望用戶使用'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
}
};
任何幫助將不勝感激。如果沒有任何意義,我會很樂意解釋(或編輯帖子)。
你認爲'enabled === false;'在做什麼? – Peter
Enabled是一個布爾變量。我的想法是在焦點IF聲明爲真時將其更改爲false。因此禁用擊鍵檢測。感謝您的快速評論。 –
'.attr('#searchInput')'不知道。你把它放在哪裏? – Jai