2009-08-04 2 views
4

사용자가 마우스 만 사용하여 옵션을 선택할 수 있도록 HTML SELECT 태그에 대해 키보드를 사용하지 않으려합니다.HTML SELECT 태그에서 키보드 사용 안 함

나는 행운이없는 onkeydown, onkeyuponkeypress 이벤트에서 event.cancelBubble=true을 시도했습니다.

아이디어가 있으십니까? 이벤트 객체가 제대로 초기화지고있는 경우 크로스 브라우저 방식으로

<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> 
+6

나는 물어야한다 ... 왜 이것을하고 싶습니까? 그것은 단지 유용성을 방해합니다. – DisgruntledGoat

+1

event.cancelBubble은 기본 동작을 방지하기위한 것이 아닙니다. 이벤트의 버블 링을 방지하기위한 것입니다. – rahul

+1

고객이 로그인 화면에서 추가 보안 수준으로 요구합니다. 나는 그에게 그가 무의미하다는 것을 납득 시키려고 노력했다. 물론 고객은 거의 항상 옳았다. –

답변

2

누군가가 이렇게 여기있다, 어떤 이유로 그것을 제거 후 나에게 정답을 떠나

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

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