ie和firefox不兼容的解决方法集合

   1、firefox和ie事件event处理

在ie中,事件对象是作为一个全局变量来保存和维护的。 所有的浏览器事件,不管是用户触发
的,还是其他事件, 都会更新window.event 对象。 所以在代码中,只要轻松调用 window.event
就可以轻松获取 事件对象, 再 event.srcElement 就可以取得触发事件的元素进行进一步处理

在ff中, 事件对象却不是全局对象,一般情况下,是现场发生,现场使用,ff把事件对象自动传
递给对应的事件处理函数。    在代码中,函数的第一个参数就是ff下的事件对象了。

<button id="btn4" onclick="foo4()">按钮4</button>

<script>

function foo4(){   

    var evt=getEvent();

   var element=evt.srcElement || evt.target   ;
      alert(element.id)         

}

function getEvent()
{     //同时兼容ie和ff的写法
         if(document.all)    return window.event;       
         func=getEvent.caller;           
         while(func!=null){   
             var arg0=func.arguments[0];
             if(arg0){
                 if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){   
                     return arg0;
                 }
             }
             func=func.caller;
         }
         return null;
}


</script>

 

2、firefox和ie对手型指针cursor不兼容

手型指针有cursor:hand和cursor:pointer两种写法,其中cursor:hand在ff中不支持,返回错误!
只要使用cursor:pointer即可,ff和ie都支持!

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2009-04-28 18:00  cuker919  阅读(200)  评论(0编辑  收藏  举报