IE与FireFox的兼容性问题
程序员文章站
2024-03-01 08:13:40
window.event ie:有window.event对象 ff:没有window.event对象。可以通过给函数的参数传递event对象。如onmouse...
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。
标签的x和y的坐标位置:style.posleft 和 style.postop
ie:有。
ff:没有。
通用:object.offsetleft 和 object.offsettop。
窗体的高度和宽度
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。
添加事件
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都会被执行。
标签的自定义属性
ie:如果给标签div1定义了一个属性value,可以div1.value和div1["value"]取得该值。
ff:不能用div1.value和div1["value"]取。
通用:div1.getattribute("value")。
父节点、子节点和删除节点
ie:parentelement、parement.children,element.romovenode(true)。
ff:parentnode、parentnode.childnodes,node.parentnode.removechild(node)。
画图
ie:vml。
ff:svg。
css:透明
ie:filter:progid:dximagetransform.microsoft.alpha(style=0,opacity=60)。
ff:opacity:0.6。
css:圆角
ie:不支持圆角。
ff:-moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-bottomright:4px;。
css:双线凹凸边框
ie:border:2px outset;。
ff:-moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080;。
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。
标签的x和y的坐标位置:style.posleft 和 style.postop
ie:有。
ff:没有。
通用:object.offsetleft 和 object.offsettop。
窗体的高度和宽度
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。
添加事件
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都会被执行。
标签的自定义属性
ie:如果给标签div1定义了一个属性value,可以div1.value和div1["value"]取得该值。
ff:不能用div1.value和div1["value"]取。
通用:div1.getattribute("value")。
父节点、子节点和删除节点
ie:parentelement、parement.children,element.romovenode(true)。
ff:parentnode、parentnode.childnodes,node.parentnode.removechild(node)。
画图
ie:vml。
ff:svg。
css:透明
ie:filter:progid:dximagetransform.microsoft.alpha(style=0,opacity=60)。
ff:opacity:0.6。
css:圆角
ie:不支持圆角。
ff:-moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-bottomright:4px;。
css:双线凹凸边框
ie:border:2px outset;。
ff:-moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080;。
上一篇: 找到html标记对应的脚本属性
推荐阅读