我有一系列的按鈕和其他控件。當用戶按下Shift和*時,我想要移動到下一個控件(按鈕,文本或任何其他控件)。我怎樣才能以最短的方式做到這一點。移至下一個按鈕
Q
移至下一個按鈕
0
A
回答
0
這是一個俗套的解決方案,但在這裏。
一些解釋,這是什麼試圖做。我想在這裏更正,所以請開火。
獲取類「nav」的所有元素。這些是我們想要改變焦點的元素。
從這個集合中,找到以前聚焦的元素及其索引。不幸的是,Internet Explorer和FireFox沒有提供確定哪個元素的焦點的方法或不同。我在這裏用自定義的「isFocused」屬性作弊。
如果沒有以前的焦點元素,請將該集合中的第一個元素設置爲焦點並將isFocused屬性添加到該元素。
如果存在以前關注的元素,請從其中移除isFocused屬性並在其後查找下一個「nav」元素。這段代碼支持從集合開始處重新開始,所以如果你使用這種技術將最後一個元素聚焦並按下Shift +「*」,則第一個元素將被聚焦。
這種方法存在問題。它狹隘,忽視用戶手動集中的元素。它還爲HTML元素分配一個點擊處理程序來捕獲所有活動。這可能不是處理這種需求的最高性能方式。
$(document).ready
(
function()
{
$("html").keydown
(
function(e)
{
if(e.shiftKey && e.keyCode == 42)
{
var wrappedElemSet = $(".nav");
var focusedElementIndex = -1;
var focusedElement;
var elems = wrappedElemSet
.each
(
function(i)
{
if($(this).attr("isFocused"))
{
focusedElementIndex = i;
focusedElement = $(this);
return false;
}
}
)
if(focusedElementIndex == -1)
{
$(wrappedElemSet[0])
.attr("isFocused", "isFocused")
.focus();
}
else
{
var elementIndexToFocus =
focusedElementIndex == wrappedElemSet.size() + 1 ?
0 : focusedElementIndex + 1;
focusedElement.removeAttr("isFocused");
$(wrappedElemSet[elementIndexToFocus])
.attr("isFocused", "isFocused")
.focus();
}
}
}
);
}
);
+0
感謝您的努力 – Hitz 2009-09-16 05:58:00
0
$("#theNextButton").focus();
,並儘量做移+是像這樣做的另一個關鍵:
var isShiftDown = false;
$(document).keyup(function (e) {
if(e.which == 16){
isShiftDown = false;
}
}).keydown(function(event){
var code = event.keyCode;
if(code == 16){ //left
isShiftDown = true;
}
if(code == 37 && isShiftDown){ //left
//instead of traping left key, trap what you need
}
});
你將不得不拿出一個辦法把重點放在「下一個」控制自己。它不應該太難。我現在要去玩一些後果。
相關問題
- 1. 將按鈕圖像從第一個按鈕按下移至按下的第二個按鈕
- 2. 如何在按下輸入按鈕時將焦點移至下一個字段
- 3. 如何檢索按鈕上的數據並移至下一步按鈕?
- 4. 從第一個按鈕下拉菜單後移動下一個按鈕
- 5. 按下一個按鈕
- 6. 移至下一個表格在Javascript
- 7. 如何使按鈕從第一個JTabbedPanel移動到下一個?
- 8. 啓用/禁用上移/下移按鈕上一個ListView
- 9. 在按下WPF DataGrid中的Enter鍵時移至下一列
- 10. 當按Tab鍵時光標不移動到下一個按鈕
- 11. ios觸摸從一個按鈕移動到另一個按鈕
- 12. 將焦點移至下一個單元格上按Enter鍵WPF DataGrid中按?
- 13. 與「下一個按鈕」
- 14. MPMoviePlayerController和下一個按鈕
- 15. 下一個按鈕....主頁
- 16. 有一個按鈕減去我按下的下一個按鈕的值。 Swift
- 17. 按鈕向下移動
- 18. 將按鈕向下移動
- 19. 按下按鈕,將身體從一個位置移動到另一個位置
- 20. 如何使下一個按鈕移動到Jframe中的下一個Jpanel
- 21. 上一個按鈕和下一個按鈕不工作在jquery
- 22. 帶有下一個按鈕和上一個按鈕的jQuery BBQ
- 23. 在下一個按鈕中從一個文本字段移動到另一個按鈕點擊虛擬鍵盤
- 24. 使下一個\上一個按鈕,JSP
- 25. 上一個/下一個按鈕?
- 26. UIScrollView下一個上一個按鈕
- 27. 上一個和下一個按鈕
- 28. 識別標籤按鈕被按下以移動到下一個響應者
- 29. 按下TAB按鈕時,如何延遲移動到下一個輸入欄?
- 30. jQuery Sortable上移/下移按鈕
告訴他們使用TAB鍵嗎? – nickf 2009-09-16 03:10:06
:)是的,我建議,但沒有太多的事情可以對付固執的人與你一起工作.. – Hitz 2009-09-16 03:16:26