右键单击iFrame的上下文菜单脚本

时间:2010-03-16 11:57:09

标签: javascript iframe internet-explorer contextmenu

问题的上下文与应用程序有关,该应用程序是单页面Ajax应用程序。页面布局由三个不同的面板(iframe)组成,如下所示:

            _________________________________________________ 
            |                  |
            | Frame A          |       Frame C
            |__________________|
            |                  |
            | Frame B          |
            |                  |
            |                  |
            |                  |
            |                  |
            |                  |
            |                  |
            |                  |

问题在于框架C中的上下文菜单(右键单击菜单)。单击鼠标时,上下文菜单的位置并不完美。特别是,如果拖动并增加Frame C窗口的大小。

代码段:

    var rightedge = parent.frames["FrameC"].frameElement.clientWidth-event.clientX;
    var bottomedge = parent.frames["FrameC"].frameElement.clientHeight-event.clientY;
    if (rightedge < document.getElementById('Menu').offsetWidth)
        menuCoorX = parent.frames["FrameC"].frameElement.scrollLeft + event.clientX - document.getElementById('Menu').offsetWidth;
    else
        menuCoorX = parent.frames["FrameC"].frameElement.scrollLeft + event.clientX;
    if (bottomedge < document.getElementById('Menu').offsetHeight)
        menuCoorY = parent.frames["FrameC"].frameElement.scrollTop + event.clientY - document.getElementById('Menu').offsetHeight;
    else
        menuCoorY = parent.frames["FrameC"].frameElement.scrollTop + event.clientY;

目前,我们需要它只适用于IE(7和8)。

请帮忙! 感谢。

0 个答案:

没有答案