<html>
<head>
</head>
<body> 
<select onkeydown="this.selectedIndex=-1;" onkeypress="this.selectedIndex=-1;"> 
<option value="A" >A </option> 
<option value="B" >B </option> 
<option value="C" >C </option> 
<option value="D" >D </option> 
<option value="E" >E </option> 
<option value="F" >F </option> 
</select> 
</body>
</html>

解决方案 »

  1.   

    谢谢你提供的思路。
    你提供的方法,我在IE调用没有问题。但在firefox下,每一次按下方向键都会将值设回第一个元素。
      

  2.   

    考虑了下原理帮你变通了下...<select onkeydown="
    return /Firefox/.test(window.navigator.userAgent) && function (o, k) {
            if (/^(?:3[789]|40)$/.test(k)) {
             o.selectedIndex += 1 - (/^3[78]$/.test(k) ? 0 : 2);
            } else return true;
        }(this, event.which)
    //this.selectedIndex = this.selectedIndex - 1
    ">
        <option value="A">A</option> 
        <option value="B">B</option> 
        <option value="C" selected>C</option> 
        <option value="D">D</option> 
        <option value="E">E</option> 
        <option value="F">F</option> 
    </select>
      

  3.   


    这个确实能实现,谢谢。不过稍看看大家还有没有其他方法,最好是能控制select的事件实现。
      

  4.   


    看来没有人提供更好的答案了,谢谢 muxrwc