zoukankan      html  css  js  c++  java
  • JQuery 点击控件获取当前坐标时不兼容IE7

    现在要求在点击文本框时,获取文本框的坐标,需要相对文本框的位置来显示信息。

    思路就是,绑定文本框的click 事件,一旦有点击就触发,去调用clickevent 函数执行计算。

    $('#txt_m').bind('click', clickevent);

     //计算控件的坐标

    function clickevent(event){
        var t,a;
        a = document.getElementById(this.id);
        t = a.offsetTop;

        l = a.offsetLeft;
            while(a.tagName != "BODY")
            {
               a = a.offsetParent;
               t = t + a.offsetTop;

               l = l+ a.offsetLeft;
            }

        alert("Top:"+t+" , Left:"+l);

    }

    这样写在除了IE7的浏览器上都能正常执行,但是IE7上就会报错,提示信息为:SCRIPT5007: 无法获取未定义或 null 引用的属性“offsetTop” 。

    在360浏览器的 兼容模式下 也无法正常运行,360兼容模式用的内核是IE8,但是默认文档模式为IE7,所以也会出现:无法获取未定义的错误。修改为其他文档模式就能正常运行了。

    只能修改为:

    $('#txt_m').bind('click', clickevent);

     //计算控件的坐标

    function clickevent(event){
        var e = document.getElementById(this.id);
        var t=e.offsetTop;
        var l=e.offsetLeft;
        while(e=e.offsetParent){
        t+=e.offsetTop;
        l+=e.offsetLeft;
        }

    alert("Top:"+t+" , Left:"+l);

    }

  • 相关阅读:
    F
    E
    网上见到一同行发的隐私政策 备以后用
    Cannot connect to the Docker daemon. Is the docker daemon running on this host?
    mark
    转 随机数问题
    随机不同的数
    转 基于Quick-cocos2dx 2.2.3 的动态更新实现完整篇。(打包,服务器接口,模块自更新
    字符串
    关于cmbiling.jar cocos2dx的问题
  • 原文地址:https://www.cnblogs.com/selinamee/p/3580437.html
Copyright © 2011-2022 走看看