在HTML SELECT标记中禁用键盘

问题描述:

我想禁用HTML SELECT标记的键盘,因此用户只能使用鼠标来选择选项。在HTML SELECT标记中禁用键盘

我试过event.cancelBubble=true上的onkeydown,onkeyuponkeypress事件没有运气。

任何想法?

+6

我必须问......你为什么要这样做?这只会妨碍可用性。 – DisgruntledGoat 2009-08-04 12:31:07

有人给我正确的答案,然后取出它的一些原因,所以在这里它是:

<script type="text/javascript"> 
function IgnoreAlpha(e) 
{ 
    if (!e) 
    { 
     e = window.event ; 
    } 
    if (e.keyCode >= 65 && e.keyCode <= 90) // A to Z 
    { 
     e.returnValue=false; 
     e.cancel = true; 
    } 
} 
</script> 

<body> 
    <p> 
     <select id="MySelect" name="MySelect" onkeydown="IgnoreAlpha(event);""> 
      <option selected="selected" value="" /> 
      <option value="A">A</option> 
      <option value="B">B</option> 
      <option value="C">C</option> 
     </select> 
    </p> 
</body> 

event.preventDefault() 

在一个跨浏览器的方式假设事件对象已正确初始化:

function disableKey(e) 
{ 
    var ev = e ? e : window.event; 

    if(ev) 
    { 
     if(ev.preventDefault) 
      ev.preventDefault(); 
     else 
     ev.returnValue = false;   
    }  
}