使用onkeypress事件问题

时间:2013-04-16 07:37:12

标签: javascript

此代码适用于IE,但不适用于Chrome:

<input type="text" 
       name="txtFirstName"  
       class="txtbox" 
       onkeypress="charsCapsSpaceOnly()" 
       maxlength="30" 
       onpaste="return false" 
       autocomplete='off'> </td>

 function charsCapsSpaceOnly() {
     event.keyCode = event.keyCode - 32;
     if( ((event.keyCode >= 65 && event.keyCode <= 90)) || (event.keyCode == 32)) { 
         event.keyCode = event.keyCode;
     } else {
         event.keyCode=0;
     }
 }

2 个答案:

答案 0 :(得分:1)

这适用于IE9和Chrome。

 function charsCapsSpaceOnly() 
 {
     if (!( ((event.keyCode >= 65 && event.keyCode <= 90)) || (event.keyCode == 32)) )
     {
         event.keyCode=0;            // For IE
         event.preventDefault();     // For chrome
     }
 }

答案 1 :(得分:0)

如果你想获得密码,你必须使用它:

function (event){
    var keyCode = !event.charCode ? event.which : event.charCode,
    key = String.fromCharCode(keyCode);
    ....
}

因为IE与其他浏览器不同(他们想要特别:) :))