我的總體目標是能夠使用TAB鍵盤鍵在3個div之間進行導航,每個div都具有#sectionA,#sectionB和#sectionC的CSS ID。並且在每個div中,我有一個無序列表,我希望使用右箭頭鍵和左箭頭鍵來瀏覽列表。如何嵌套多個keydown事件?
我的HTML標記是這樣的:
<div id="sectionA">
<ul id="ul_sectionA">
<li> Section A - Test B</li>
<li> Section A - Test B</li>
</ul>
</div>
<div id="sectionB">
<ul id="ul_sectionB">
<li> Section B - Test B</li>
<li> Section B - Test B</li>
</ul>
</div>
<div id="sectionC">
<ul id="ul_sectionC">
<li> Section C - Test B</li>
<li> Section C - Test B</li>
</ul>
</div>
到目前爲止,我能夠得到以下的jQuery代碼,但不工作,一旦我添加第二個(文檔)$ .keydown(()的函數代碼
$(document).ready(function()
{
var divs = ["sectionA","sectionB","sectionC"];
var startIndex = 0;
$(document).keydown(function(e)
{
alert("test");
if (e.which == 9)
{
$("div").css("border", "");
$("#"+divs[startIndex]).css("border","1px solid blue");
var divID = $("#" +divs[startIndex]).attr("id");
$(document).keydown(function(event)
{
if(event.which == 37)
{
if("#"+divID+"ul li").addClass() == "highlight")
{
$(this).next().addClass("highlight");
} else
{
$(this).addClass();
}
}
});
startIndex++;
if(startIndex === divs.length)
{
startIndex = 0;
}
}
});
});
你爲什麼要嵌套?重構所以功能全部駐留在一個事件中... – 2012-04-18 00:35:20
從來沒有聽說過重構。是否有工作示例 – 2012-04-18 00:46:21
重構,如重新組織,重新編碼,重新設計。使用變量來跟蹤您正在使用哪個標籤和列表項;然後基於哪個選項卡處於活動狀態,根據所使用的箭頭鍵在該選項卡中選擇各種列表項。 – 2012-04-18 00:48:00