DIV元素无法飘出 IE 去显示。其实POPUP还是可以选择的。

解决方案 »

  1.   

    1:理清你的业务逻辑;
    2:检查目前已实现的步骤;
    3:继续调试;
    从楼主上述中可以看出,你实现了第一步,即可以追回结点;
    接下去需要做的是对追加的结点进行属性及事件的追加,
    一个是ID,另一个是响应鼠标事件达到你显示与隐藏的目的,比方说:
    var div=document.createElement("div");
    div.setAttribute("id","divid");
    div.onmouseover = function () { document.getElementById('divid').style.display='yes';return true;}
    div.onmouseout = function () { document.getElementById('divid').style.display='none';return true;}其他的设置类似,楼主自行调试;
      

  2.   

    myxy82() : 1、popup只在ie里有用。
     2、我用
    function getObjPosition(obj)
    {
        var p = new Object();
        p.top = obj.offsetTop;
        p.left = obj.offsetLeft;
        while (obj = obj.offsetParent)
        {
           p.top += obj.offsetTop;
           p.left += obj.offsetLeft;
        }
        return (p)
    }这个函数找input的绝对位置,根据这个位置显示popup,但显示出来的地方和预想的总有差别。服务器里的程序用到Response.Write("dkfk");时显示出来的地方就不对了,div就没有这样的情况。不知道为什么。lantersen:
    我一直想用div的ondeactivate事件,可当焦点在div内时也触发这个事件。这个和msdn里说的不一样
      

  3.   

    个人认为做项目没必要考虑这么多浏览器。
    浏览器这么多,而且都不愿意放弃自己的所谓的“特长”或者统一一致的写法规范。连脚本写发上都不一样。今天sun公司高兴,开发个浏览器,明天goole高兴也写一个出来,
    这给程序开发带来了多大的麻烦啊?为了兼容这么多浏览器,程序必须多写很多代码,而且很多功能只好被迫放弃。个人观点,做项目就指针对一个浏览器(个人推荐windows平台还是使用ie).让其他的什么浏览器吃屎去吧。我就不相信一个好的作品用户会为了浏览器的不兼容而放弃使用。
      

  4.   

    myxy82():是啊,一个公司一个做法,搞的我们脑袋都大了!我用其他办法替代了,加了一个“关闭”按钮。只是用起来没那个方便人性化。
    谢谢两位了!
    帖子暂时放两天再结贴,希望有其他人给出好的办法。