Javascript在IE与Firefox下的差异写法总结

来源:互联网 发布:mac dota2性能 编辑:程序博客网 时间:2024/05/15 09:39

原文地址:http://www.cnblogs.com/top5/archive/2010/06/17/1759815.html

 

window.event对象差异

IE:有window.event对象

FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)

 

获取鼠标当前坐标

IE:event.x和event.y

FF:event.pageX和event.pageY

通用:两者都有event.clientX和event.clientY属性

 

鼠标当前坐标(加上滚动条滚过的距离)

IE:event.offsetX和event.offsetY

FF:event.layerX和event.layerY

 

标签的坐标位置:style.posLeft和style.posTop

IE:有

FF:没有

通用:object.offsetLeft和offsetTop

 

取窗口的高度和宽度

IE:document.body.offsetWidth和document.body.offsetHeight

FF:window.innerWidth和window.innerHeight,以及document.documentElement.clientWidth和document.documentElement.clientHeight

通用:document.body.clientWidth和document.body.clientHeight

 

添加事件

IE:element.attachEvent('onclick',func)

FF:element.addEventListener('click',func,true)

参用:element.onclick = func   虽然都可以使用onclick事件,但onclick和上面两种方法的效果是不一样的,onclick只有一个执行过程,而attachEvent和addEventListener执行的是一个过程列表,也就是多个过程。

 

标签的自定义属性

IE:如果给标签div1定义了一个属性value,可以div1.value和div1['value']取得该值

FF:不能用div1.value和div1['value']取得该值

通用:div1.getAttribute('value')

 

节点、子节点和删除节点

IE:parentElement、parentElement.children、element.removeNode(true)

FF:parentNode、parentNode.childNodes、node.parentNode.removeChild(node)

断鼠标点在一个元素中的哪个位置很方便,FF没有直接替换的属性。

 

原创粉丝点击