2009-07-31 80 views
0

是否有任何使左箭頭表現像標籤按鈕(將焦點設置爲下一個可調焦項目)並且右箭頭的行爲類似於shift +標籤(設置焦點到以前的可對焦項目)?使用左右箭頭(HTML + JS)設置焦點

我這個地步得到:

$().keypress(function(e) { 
    if (e.keyCode == 37) { 
     alert('I want to do a shift-tab'); 
    } 
    else if (e.keyCode == 39) { 
     alert('I want to do a tab'); 
    } 
}); 

但谷歌並不在於有幫助,所以我想我應該把一個快速張貼在這裏,而我谷歌更多一些。

謝謝!

哦,它純粹是FF3.0,所以我不需要擔心其他瀏覽器的麻煩。

回答

5

你到目前爲止似乎很好。

你可以保持「可調焦」項目的列表,只是遍歷列表保持指向當前一個:

// or $('input')..depends what you want to focus on 
var nodes = $('.focusable'), idx = -1; 
$().keypress(function(e) { 
    if (e.keyCode === 37) { 
    nodes.get(++idx).focus(); 
    } 
    else if (e.keyCode === 39) { 
     nodes.get(--idx).focus(); 
    } 
}); 

這只是一個大致的輪廓,雖然。在做某件事之前,您需要檢查idx,以確保您不會滑過可聚焦元素數組的開始或結束位置。當用戶位於文本框內時,您還需要小心地調用它。