返回列表 發帖

javascript用方向鍵選擇button程式碼問題

現在想設計的是:
"用方向鍵選擇button,並用enter鍵點擊button連到別的頁面"
例如:(共有三個button)
在頁面裡按第一次「下」,focus第一個button
按第二次「下」,focus移到第二個button
若按「上」又移回第一個button
如果focus已經在第三個button上了
此時按「下」會移回第一個button

之前試過用tab鍵去選擇按鈕的方法:在input標籤裡加"tabindex"
但因為按tab會在網頁的網址列、工具列....和button之間作循環
可是想要的效果是只要在button列裡循環就好.......

目前的程式碼:
<script language="javascript">
<!--
document.onkeydown= keydown()
function keydown(){
if(event.keyCode == 40 ){//下
}
if(event.keyCode == 38 ){//上
}
-->
</script>
不知道要怎麼在程式碼裡表示我要循環focus button???
麻煩各位解惑了.....
謝謝> <

你可以先定義一個變數 currentFocus 來存放目前 focus 在第幾個 button 上,另外定義一組 array 存放你想要循環的 button id。需要處理的動作會有以下幾個:

1. 當某個 button onblur 時,將 currentFocus 設為 0 (有可能是其他非 button 的元素取得 focus)
2. 當某個 button focus 時,將 currentFocus 設定為該 button 在 array 中的序號
3. 當按下「上」或「下」時,透過 currentFocus 判斷下一個或上一個該 focus 的元素,並執行

大致是這樣
To infinity and beyond!

TOP

返回列表 回復 發帖