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

  • 相关阅读:
    02-0. 整数四则运算(10)
    中国大学MOOC-翁恺-C语言程序设计习题集
    树链剖分
    最小生成树---Prim
    最短路-spfa
    并查集
    Latex学习笔记 第一章
    Javaweb常用解决问题连接
    毕业论文如何排版
    毕业论文指之 “国内外研究现状”的撰写
  • 原文地址:https://www.cnblogs.com/zqstc/p/1606901.html
Copyright © 2011-2022 走看看