问题的上下文与应用程序有关,该应用程序是单页面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)。
请帮忙! 感谢。