一些js兼容问题

来源:互联网 发布:发乎于情止乎于礼全文 编辑:程序博客网 时间:2024/05/01 21:32

offsetHeight的问题: 换成了:offsetHeight对象,因为各种浏览器对clientHeight对象理解定义不同,所以用clientHeight可能会出现浏览器兼容问题 特别是google浏览器和firefox浏览器

event对象firefox 不不支持的问题: 用的方法是:

  function IsIe(e)    {        if(window.event&&typeof(event.srcElement)!="undefined")            {            return event.srcElement.checked;            }        else            {             var myff = function(){var c=myff.caller; while(c.caller)c=c.caller; return c.arguments[0]};            __defineGetter__("event", myff);            return event.target.checked;            }    }

说明:第一步先是判断event对象是否是存在的,看是不是firefox浏览器,为什么要加上event.srcElement呢? 因为 如果要重复的调用这个方法 那么window.event 是会有值的(在else中其实是像window对象添加一个event的属性 所以,如果多次调用这个IsIe这个方法就会出现window.event对象有值.固window.event就不能单独的判断对象是不是firefox浏览器了,还要注意 写法)

在firefox中和ie中移除对象的方法是不同的: 在ie中移除对象的方法是: object.parentNode.removeNode(true/false); 或者是更简单的:object.removeNode(true/false)的写法,但在firefox中却认为这样自己是不能将自己移除的,故报错. 在firefox的写法是:object.parentNode.removeChild(object); 自己的父级移除自己.

ie中的srcElement对象和firefox中的event.target对象, 话说看了好多的帖子啊blog啊 都说event.target对象就相等鱼event.srcElement对象,当然这是对的,在firefox中的的确确能用而且只能使用event.target对象,但是有一个前提是:event对象必须的保证存在.用上面的方法就可以实现判断.

这仅仅是js兼容的一毛而已,写下面,免的以后在找!


原创粉丝点击