本帖最后由 a215318036 于 2011-05-04 09:06:19 编辑

解决方案 »

  1.   


    function showyj() { 
    if(event.button==2) 

    var yj = document.getElementById("yj"); 
    var yj2 = document.getElementById("yj2");
    if((event.clientX>document.body.clientWidth&&event.clientX<document.body.offsetWidth)||(event.clientY>document.body.clientHeight&&event.clientY<document.body.offsetHeight)){
    return;
    }
                    //这边又修改了下,当右击浏览器的滚动条是不显示菜单。不然会撑开页面。
    yj.style.display="block"; 
    yj2.style.display="block"; 
    var client_X,client_Y;

    client_X = (event.clientX+yj2.offsetWidth>document.body.clientWidth)? event.clientX-yj2.offsetWidth : event.clientX;
    client_Y = (event.clientY+yj2.offsetHeight>document.body.clientHeight)? event.clientY-yj2.offsetHeight : event.clientY; 
    yj.style.pixelLeft= client_X; 
    yj.style.pixelTop = client_Y; 
    yj2.style.pixelLeft=client_X; 
    yj2.style.pixelTop =client_Y; 

    else 

    closediv(); 

    } 其实还有很多不足之处,比如FF下不兼容,还有当菜单出现时扩大页面百分比也会有不足等等,还待改进。