key事件中判断输入值是否符合要求,不符合清除之

解决方案 »

  1.   

    我在keydown事件里进行如下处理
    $("#test").keydown(function(evt) {
    var keycode = evt.keyCode?evt.keyCode:evt.which;
    if(keycode == 229){
    evt.preventDefault();
    }
    });
    但是没起作用啊
      

  2.   

    你的textarea允许输入什么你就将其他的内容全部替掉,如下面的只允许输入数字和字母
    <textarea onkeyup="rep(this)"></textarea>
    <script>
        function rep(t) {
            t.value = t.value.replace(/[^\da-z]/ig, '');
        }
    </script>
      

  3.   


    $("#test").keyup(function(evt) {
    this.value = this.value.replace(/[^\x00-\xff]/g,"");
    });
      

  4.   


    我的要求是根据一个bool型变量来决定是否允许键盘输入,
    如果为false的话,不允许键盘输入任何字符,包括数字、字母以及汉字等。
    true的话,可以输入。
      

  5.   

    <input type="checkbox" onclick="ok=this.checked" checked/>允许输入<br />
    <textarea onkeydown="rep(event)"></textarea>
    <script>
        var ok = true;
        function rep(e) {
            if (ok) return;
            if (e.preventDefault) e.preventDefault();
            else e.returnValue=false
        }
    </script>
      

  6.   


    我的要求是根据一个bool型变量来决定是否允许键盘输入,
    如果为false的话,不允许键盘输入任何字符,包括数字、字母以及汉字等。
    true的话,可以输入。

    谢谢回复!
    你这么写的和我直接写的一样,
    在chrome浏览器上测试不好用吧?
      

  7.   

    楼主你到底试过木有?我这里chrome取消勾选后是无法输入的
      

  8.   

    我这里测试中文输入法状态也输入不了,注意事件改过了不行就用个透明层遮盖textarea算了<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><style>
    .c{position:relative}
    .c .mask{position:absolute;width:100%;height:100%;display:none;background:#fff;opacity:0;filter:alpha(opacity=0)}
    </style>
    <input type="checkbox" onclick="document.getElementById('mask').style.display=this.checked?'none':'block'" checked/>允许输入<br />
    <div class="c"><div id="mask" class="mask"></div><textarea></textarea></div>