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下是可撤销的

  • 相关阅读:
    python笔记-datetime-logging
    python笔记-json-base64-hashlib
    python笔记-redis数据库
    python笔记-mysql命令使用示例(使用pymysql执行)
    python笔记-python程序中操作mysql数据库
    python笔记-mysql约束条件与表关系
    python笔记-mysql查询
    python笔记-mysql基本命令
    Vue移动端项目模板h5
    基于环信SDK的IM即时通讯填坑之路(vue)
  • 原文地址:https://www.cnblogs.com/zqstc/p/1606901.html
Copyright © 2011-2022 走看看