禁用HTML SELECT标记中的键盘

时间:2009-08-04 12:14:47

标签: javascript html javascript-events html-select

我想禁用HTML SELECT标记的键盘,以便用户只能使用鼠标选择选项。

我在event.cancelBubble=trueonkeydownonkeyup事件上尝试onkeypress但没有运气。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

有人给我留下了正确答案,然后由于某种原因将其删除了,所以这就是:

function IgnoreAlpha(e) {
  if (!e) {
    e = window.event;
  }
  if (e.keyCode >= 65 && e.keyCode <= 90) // A to Z
  {
    e.returnValue = false;
    e.cancel = true;
  }
}
<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>

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:-1)

event.preventDefault()