【转】FireFox与IE js脚本差异 小结

1. window.event
 IE:有window.event对象 
 FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)
 
2. 鼠标当前坐标
 IE:event.x和event.y。 
 FF:event.pageX和event.pageY。 
通用:两者都有event.clientX和event.clientY属性。
 
3. 鼠标当前坐标(加上滚动条滚过的距离)
 IE:event.offsetX和event.offsetY。 
 FF:event.layerX和event.layerY。
 
4. 标签的x和y的坐标位置:style.posLeft 和 style.posTop
 IE:有。 
 FF:没有。 
 通用:object.offsetLeft 和 object.offsetTop。
 
5. 窗体的高度和宽度
 IE:document.body.offsetWidth和document.body.offsetHeight。注意:此时页面一定要有body标签。 
 FF:window.innerWidth和window.innerHegiht,以及 document.documentElement.clientWidth和 document.documentElement.clientHeight。 
通用:document.body.clientWidth和document.body.clientHeight。
 
6. 添加事件
 IE:element.attachEvent("onclick", func);。 
 FF:element.addEventListener("click", func, true)。 
 通用:element.onclick=func。虽然都可以使用onclick事件,但是onclick和上面两种方法的效果是不一样的, onclick 只有执行一个过程,而attachEvent和addEventListener执行的是一个过程列表,也就是多个过程。例如: element.attachEvent("onclick", func1);element.attachEvent("onclick", func2)这样func1和func2都会被执行。
 
7. 标签的自定义属性
 IE:如果给标签div1定义了一个属性value,可以div1.value和div1["value"]取得该值。 
 FF:不能用div1.value和div1["value"]取。 
 通用:div1.getAttribute("value")。
 
8. 父节点、子节点和删除节点
 IE:parentElement、parement.children,element.romoveNode(true)。 
 FF:parentNode、parentNode.childNodes,node.parentNode.removeChild(node)。
 
by 独行冰海

posted @ 2012-06-24 14:37  丛子  阅读(195)  评论(0编辑  收藏  举报