IE与FireFox的兼容性问题

  • 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。

    通用:event.clientY+document.documentElement.scrollTop(加垂直滚动条)。

    通用:event.clientX+document.documentElement.scrollLeft(加水平滚动条)。


    示例:


    <script>
    function xyzb(xy){
    xl =
    xy.clientX+document.documentElement.scrollLeft;
    yr =
    xy.clientY+document.documentElement.scrollTop;

    document.getElementById("xys").innerHTML=xl+","+yr;
    }

    </script>
    <div id="xys"
    style="width:500px;height:500px;border:1px solid;"
    onmousemove="xyzb(event);"></div>
  • 标签的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;。
  • posted @   thinksea  阅读(94)  评论(0编辑  收藏  举报
    编辑推荐:
    · 开发者必知的日志记录最佳实践
    · SQL Server 2025 AI相关能力初探
    · Linux系列:如何用 C#调用 C方法造成内存泄露
    · AI与.NET技术实操系列(二):开始使用ML.NET
    · 记一次.NET内存居高不下排查解决与启示
    阅读排行:
    · 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
    · 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
    · 【自荐】一款简洁、开源的在线白板工具 Drawnix
    · 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
    · Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
    点击右上角即可分享
    微信分享提示