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

  • 相关阅读:
    A1052. Linked List Sorting (25)
    A1032. Sharing (25)
    A1022. Digital Library (30)
    A1071. Speech Patterns (25)
    A1054. The Dominant Color (20)
    A1060. Are They Equal (25)
    A1063. Set Similarity (25)
    电子码表
    矩阵键盘
    对象追踪、临时对象追踪、绝对坐标与相对坐标
  • 原文地址:https://www.cnblogs.com/zqstc/p/1606901.html
Copyright © 2011-2022 走看看