2011-06-05 77 views
0

我有幾個輸入文本字段都是分開的,但我希望當你開始輸入時1獲得專注。在keydown輸入文本字段的焦點

我想我已經用jQuery .bind()這樣做,但我不知道:

$(document).bind('keydown',function(e){ 
    $('#defaultInput').focus(); 
    $(document).unbind('keydown'); 
}); 

而且你可以繼續這樣做。我現在的代碼只允許我執行一次該操作,並不檢查是否在另一個框中輸入。

jquery有沒有辦法讓這種情況發生?

回答

0
$(document).one('onkeydown',function(e){ 
    $(':input:first').focus(); 
}); 

使用jQuery .one()只在頁面上綁定一次(這比綁定/解除綁定更方便)。然後,如果你想趕上keyChar,並將它推入現場,所以它們不會「失去」第一次擊鍵。

1

如果您有例如您的網頁上這3個輸入字段:

<input type="text" id="t1" /> 
<input type="text" id="t2" /> 
<input type="text" id="t3" /> 

用下面的JS,它將只專注於第二個,如果焦點不在T1或T3或任何其他輸入元素在頁面上。

$(document).bind('keydown',function(e){ 
    if ($(':focus:not("input")').length){ 
     $('#t2').focus(); 
    } 
}); 

實施例:http://jsfiddle.net/niklasvh/gPs45/

+0

Thnaks尼古拉斯實現該訣竅 – 2011-06-05 19:24:31