function test(e) {
            if (e.keyCode == 220) {
                e.preventDefault ? e.preventDefault() : e.returnValue = false;
            }
        }

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <script type="text/javascript">
         function test(obj){
          if(event.keyCode==220){
           obj.value = obj.value.substring(0,obj.value.length -1);
          }
         }
        </script>    
        <title>test</title>
      </head>  
      <body>
        <input id="abc" onkeyup ="test(this);">
      </body>
    </html>
      

  2.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <script type="text/javascript">
            function test(e) {
                if (e.keyCode == 220) {
                    e.preventDefault ? e.preventDefault() : e.returnValue = false;
                    alert("OK");
                }
            }
        </script>    
        <title>test</title>
      </head>  
      <body>
        <input id="abc" onkeydown="test();">
      </body>
    </html>Chrome浏览器下无反应。
      

  3.   


    <input id="abc" onkeydown="test(event);">
      

  4.   

    这个方法确实可行。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <script type="text/javascript">
         function test(obj){
          if(event.keyCode==220){
           obj.value = obj.value.substring(0,obj.value.length -1);
          }
         }
        </script>    
        <title>test</title>
      </head>  
      <body>
        <input id="abc" onkeyup ="test(this);">
      </body>
    </html>
    如果用onkeydown的话输入框里面还是会有\斜杠,那如果用onkeydown能否做到按下后输入框没有\斜杠么
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <script type="text/javascript">
            function test(e) {
                if (e.keyCode == 220) {
                    e.preventDefault ? e.preventDefault() : e.returnValue = false;
                    alert("OK");
                }
            }
        </script>    
        <title>test</title>
      </head>  
      <body>
    <input id="abc" onkeydown="test(event);">
      </body>
    </html>
      

  5.   

    本帖最后由 showbo 于 2014-02-14 16:56:35 编辑
      

  6.   

    @showbo
    你的这个方法输入框里面还是会有斜杠。
      

  7.   

    @showbo
    alert语句去除确实可以,不过如果我下面还要执行其他代码呢 会影响嘛。           if (e.keyCode == 220) {
                    e.preventDefault ? e.preventDefault() : e.returnValue = false;
                    ...
                    ...
                    ...
                }
      

  8.   

    奇怪,都什么版本的chrome,我这里 25.0.1364.172 m 没有问题。。最近碰到一个也说阻止不了字符输入,不行你就只能替换了
      

  9.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
      <head> 
         
        <title>test</title>
        <script type="text/javascript"> 
        function test(ev){
            ev  = ev  ||  window.event;
            var _key = ev.keyCode || ev.which;
            //需要注意的是:onkeydown与onkeypress获取的keyCode是不同的 
            if(_key == 92){
                alert("触发\斜杠键");
                ev.preventDefault  ? ev.preventDefault() : (ev.returnValue = false);  
            } 
        } 
        </script> 
      </head>   
      <body> 
        <input type="text" id="abc" onkeypress="test(event);"/> 
      </body> 
    </html>
      

  10.   

    补充一下.省得误导LZ.只有仅字符键的事件捕捉你可以使用onkeypress,如果是系统功能键,非字符键的你需要使用onkeydown
      

  11.   


    不会影响他们的代码,alert会挂起代码执行,导致preventDefault执行失败什么的
      

  12.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <script type="text/javascript">
         function test(obj,e){
          if(e.keyCode==220){
           if (typeof window.addEventListener != 'undefined') {
      obj.addEventListener('keyup',function(){obj.value = obj.value.substring(0,obj.value.length -1);});
    } else {
      obj.attachEvent('keyup',function(){obj.value = obj.value.substring(0,obj.value.length -1);});
    }      
          }
         }
        </script>    
        <title>test</title>
      </head>  
      <body>
        <input id="abc" onkeydown ="test(this,event);">
      </body>
    </html>
      

  13.   

    为什么不阻止复制行为:<input onkeyup="value=value.replace(/\\/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/\\/g,''))" />