zoukankan      html  css  js  c++  java
  • javascript

    event对象在IE中是全局对象,而在Firefox中只能作为局部对象,作为参数传入

    eg:  

    $(document).ready(function(){
    $("#content").keypress(function(vv){ //这里的vv就是临时变量
        var pa=$(this).val().length;
        if(pa>=20)
           event.returnValue=false;
           vv.preventDefault();
    });
    });

    IE中event.KeyCode是键盘上的内码,可读写,而firefox中是vv.which()

    IE中阻止浏览器的默认事件是event.returnValue=false;,而Firefox是vv.preventDefault();,但vv.preventDefault();我测试了一下,在IE8下也可以的

    <head>

    <script type="text/javascript">
    $(document).ready(function(){
      $("#content").keyup(function(){
       var pa = $(this).val().length;
       var nums = 20 - pa;
       $("#info").html("您还可以输入<span style='color:red;'>" + nums + "</span>个字符!");
      });
    });

    $(document).ready(function(){
    $("#content").keypress(function(vv){
        var pa=$(this).val().length;
        if(pa>=20)
           //event.keyCode=0;or event.returnValue=false;
           //vv.preventDefault();
    });
    });

    </script>
    </head>

    <body>
    <form name="myform" action="" method="post">
    <textarea cols="25" rows="5" name="content" id="content" maxlength="20"></textarea>
    <div id="info">您可以输入<span style='color:red;'>20</span>个字符!</div>
    </form>
    </body>

    这段脚本实现的功能是对控件textarea输入字符计数和控制它可输入的长度的,但有个问题,在IE下的写法(//event.keyCode=0;or event.returnValue=false;)是没有问题的,但FF下的写法(vv.preventDefault();),在超过20个字符之后,再按键盘写入preventDefault()这个方法被触发了,写入的字符不能撤销,没触发之前是可以撤销的,但这种写法在IE下是可撤销的

  • 相关阅读:
    java--递归删除目录
    java--获取文件夹大小
    我经历中最重要的三位老师
    我的自我介绍
    如何判断多选框是否选中?
    控制总线 数据总线和地址总线是三根线吗
    单元格中间没有边框
    页面上插入bootstrap Glyphicons时遇到的问题
    浏览器回退键——重复提交
    【excel】excel转成csv乱码问题
  • 原文地址:https://www.cnblogs.com/zqstc/p/1606901.html
Copyright © 2011-2022 走看看