Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • 再谈javascript事件模型

    post by onelong / 2010-7-5 18:07 Monday [javascript]

    在IE中,不能把Event对象作为参数传递给事件处理程序,只能用window.event或者event来引用Event对象。因为在IE中,event是window的一个属性,也就是说event是一个全局变量,这个变量提供了事件的细节。
    Firefox支持几乎所有的W3C DOM二级标准,和部分W3C DOM三级标准。W3C DOM中的Event对象并不是window全局对象下面的属性,换句话说,event不是全局变量。通常在W3C的DOM二级标准中,event作为发生事件的文档对象的属性。在Firefox下JavaScript函数中获取event的方法:

    1、从调用JavaScript函数的HTML页面显式传递参数event(实参的名称一定要用event) 。

    2、若HTML元素的某个事件上直接绑定(在标签里绑定)了一个函数,则在该函数中可以通过
    event = arguments[0];来获取event对象。如<img src="image.jpg" border="0" onclick="click(event)"/>

    3、间接绑定
    obj.onclick = click;
    function click(evt){
    var event = evt||window.event;
    }
    当然你还可以注册事件
    在DOM二级标准中,为某个元素注册事件处理函数用addEventListener(),移除用removeEventListener()
    在IE中则
    obj.attachEvent (on+ "eventName", funHandler);
    obj.detachEvent (on+ "eventName", funHandler);
    上面onclick="click(event)"中的event是一个变量,怎样接收这个参数呢?回调函数应该像如下编写
    function click(evt){
    var event = evt||window.event;
    }
    在IE中evt是undefined的,但可以通过window.event获取,注意这语句的顺序呀,在ff下window.event是undefined!不过我更主张像如下的写法var event = (evt)?evt:window.event;结构明了!

    更多细节请看http://www.ways2u.com/?post=28

     

  • 各大浏览器 CSS3 和 HTML5 兼容速查表

    post by onelong / 2010-4-1 17:57 Thursday [业界]

    支持 CSS3 和 HTML5 的浏览器越来越多,甚至包括最新版的 IE,当然,所谓支持仅仅是部分支持,因为 CSS3 和 HTML5 的W3C 规范都尚未形成。如果你现在就希望使用 CSS3 和 HTML5 创建你的站点,至少要对各个浏览器对这两种新技术的支持情况有一个全面了解。

    阅读全文>>

  • overflow的使用

    post by onelong / 2009-12-1 20:44 Tuesday [html+css]

    最近在搞那个可爱的档案馆网站,也是第一次使用div的overflow属性,原来overflow很有用.

    overflow属性有四个值:visible (默认), hidden, scroll, 和auto。同样有两个overflow的姐妹属性overflow-y 和overflow-x,它们很少被采用。
    原来可以对水平和垂直方向都分别设定的
    hidden是ie6不支持的
    其他的都兼容
     

    阅读全文>>

  • javascript判断浏览器类型和版本

    post by onelong / 2009-10-6 20:40 Tuesday [javascript]

    <script type="text/javascript">
            var Sys = {};
            var ua = navigator.userAgent.toLowerCase();
            var s;
            (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
            (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
            (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
            (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
            (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
            //以下进行测试
            if (Sys.ie) document.write('IE: ' + Sys.ie);
            if (Sys.firefox) document.write('Firefox: ' + Sys.firefox);
            if (Sys.chrome) document.write('Chrome: ' + Sys.chrome);
            if (Sys.opera) document.write('Opera: ' + Sys.opera);
            if (Sys.safari) document.write('Safari: ' + Sys.safari);
    </script>

  • JS判断浏览器类型的基础

    post by onelong / 2009-10-6 20:27 Tuesday [javascript]

            在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子。浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本。 JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本。JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的。在许多情况下,值判断出浏览器类型之后,还需判断浏览器版本才能处理兼容性问题,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道。 我们先来分析一下各种浏览器的特征及其userAgent。

           IE
         只有IE支持创建ActiveX控件,因此她有一个其他浏览器没有的东西,就是ActiveXObject函数。只要判断window对象存在 ActiveXObject函数,就可以明确判断出当前浏览器是IE。而IE各个版本典型的userAgent如下:

    阅读全文>>