場景:jQuery:使用Shift + Tab的問題onkeydown
我們有3個框可以接收任何字母或數字組合作爲輸入。第一個框可以有最多3個字符,第二個框必須正好7,最後需要爲2.
我試圖讓用戶從第一個框到一個jQuery函數到第第二次,他們鍵入了3個字符,然後從第2個到第3個7個字符,然後從第3個到2個字符後的按鈕。我也希望這個功能是很普通的,這樣我可以從其他控件使用它,所以我設置了以下內容:
function moveOn(e, objID, nextID, howLong) {
if (!(e.keyCode == 9)) {
if ($(objID).val().length >= (howLong)) {
$(nextID).select();
}
}
}
是什麼原因造成我適合是Shift + Tab鍵。我試圖捕捉它,如果(keyCode == 9)檢查,但因爲它是keyup,shift鍵可能會出現在Tab之前的一秒,在這種情況下事件觸發的Shift鍵(16),而不是標籤(9)。我不能忽略所有Shift捕捉,因爲用戶至少會在其中一個字段中使用大寫字母。
Shift + Tab在他們輸入第一個值時發揮作用,然後意識到他們犯了一個錯誤,所以他們想回去。我們的員工是非常鍵盤驅動的,所以他們幾乎總是會使用Shift + Tab來嘗試返回並修復這個問題。
是否有一些技巧我錯過了使這項工作流暢?
TIA。
只是FYI,你想給'focus()' – TheZ
當你想在當前字段中輸入正確的字符數時自動將焦點移動到下一個字段。那麼移位或標籤進入它的位置呢?我明顯錯過了一些東西... – Utkanos
爲什麼我要使用focus()select()。如果在下一個字段中已經有一個值,那麼我希望立即選擇它,以便他們可以輸入它。 focus(),imo,總是假設你只打算追加當前的值......我發現通常不是這種情況。 – cavillac