zoukankan      html  css  js  c++  java
  • $.browser.msie 与 event.keyCode 的用法

    onkeydown 事件会在用户按下一个键盘按键时发生。

    浏览器差异:Internet Explorer 使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox/Opera 使用 event.which。

    当页面出现这样时

    页面代码出现:

    <dl>请输入订购数量:<input type="text" id="qty_{$goods.goods_id}" value="1" onkeydown="javascript:return isNumber(event)" class="qty" maxlength="3" onchange="javascript:if(this.value==''||parseInt(this.value)==0){this.value='1'}"> </dl>

    则JS代码要填写成:

    //用法:javascript:return isNumber(event); 
    isNumber = function (e) {  
       
    if ($.browser.msie) {  
           
    if ( ((event.keyCode > 47) && (event.keyCode < 58)) || ((event.keyCode > 95) && (event.keyCode < 106)) ||
                 
    (event.keyCode == 8) ) {  
               
    return true;  
           
    } else {  
               
    return false;  
           
    }  
       
    } else {  
           
    if ( ((e.which > 47) && (e.which < 58)) || ((e.which > 95) && (e.which < 106)) || 
                 
    (e.which == 8) ) {  
               
    return true;  
           
    } else {  
               
    return false;  
           
    }
    }}

    其中呢:

    jQuery 使用的是通过正则来匹配userAgent判断浏览器的种类和版本.

    $.browser.['浏览器关键字']

    如果我们要来判断当前浏览器是否是IE6应该如何来判断?
    $.browser.msie&&($.browser.version == "6.0")&&!$.support.style
    同样jQuery判断浏览器是否为IE7
    $.browser.msie&&($.browser.version == "7.0")
    如果不考虑向后兼容性,又不想为了判断各浏览器类型而导入jQuery
    判断IE最简单的方法是

    if(document.all){
    alert("IE6")
    }

    $.browser是通过正则表达式来匹配userAgent来判断浏览器版本和种类的.jquery1.3.2版本的文档中已经声明jquery.browser及jquery.browser.version建议弃用,可以使用jquery.support来代替
    但是目前的情况来看,jquery.support并不好用,而且是非常的难用,我们还是老老实实的用$.browser来判断浏览器类型吧

    $(function() {
    if($.browser.msie) {
    alert("this is msie");
    }
    else if($.browser.safari)
    {
    alert("this is safari!");
    }
    else if($.browser.mozilla)
    {
    alert("this is mozilla!");
    }
    else if($.browser.opera) {
    alert("this is opera");
    }
    else {
    alert("i don't konw!");
    }

  • 相关阅读:
    Common Lisp 参数传递的几种形式
    EF架构~基于EF数据层的实现
    标准架构~业务层到底是否应该关注数据持久化的方式
    Redis学习笔记~Redis主从服务器,读写分离
    Redis学习笔记~是时候为Redis实现一个仓储了,RedisRepository来了
    MVVM架构~knockoutjs系列之数组的$index和$data
    【Oracle】-【sqlplus / as sysdba登录报错问题】-新用户使用sqlplus / as sysdba登录报错
    Android---App Widget(一)
    Mit 分布式系统导论,Distributed Systems ,lab1 -lab6 总结,实验一到实验六总结
    GDAL切割重采样遥感图像
  • 原文地址:https://www.cnblogs.com/chenguiya/p/3134336.html
Copyright © 2011-2022 走看看