IE7中的Javascript ContextMenu

时间:2010-02-24 13:46:03

标签: asp.net javascript

我们在aspx和javascript函数中使用div标签来显示我们的Web应用程序中的上下文菜单。在IE6中,上下文菜单中的子菜单以正确的x和y坐标显示在我们的应用程序中硬编码的内容。但是在IE7和IE8中,子菜单重叠,在某些机器中,菜单会在窗口后面。任何人都可以告诉我有什么问题或其他任何选择来显示conext菜单和子菜单吗?

<HTML>
<HEAD>
<TITLE>Nested popup windows</TITLE>
<script>
var firstPopupDiv = null;
var popup = null;
var vpopup = null;

function tag_onclick()
{
    var popup = window.createPopup();
    var div = popup.document.createElement("DIV");
    div.style.backgroundColor = "green";
    div.style.width = 200;
    div.style.height = 200;
    div.onclick = div_onclick;
    popup.document.body.appendChild(div);

    firstPopupDiv = div;
    vpopup = popup.document.parentWindow;
    popup.show(30, 30, 200, 200, maindiv);
}

function div_onclick()
{

    var fpopup = vpopup.createPopup();
    fpopup.document.body.innerHTML = "<div id=\"MarkupSubMenu\" style=\"position:relative\">&nbsp;&nbsp;Markups</div>";
    fpopup.document.body.style.backgroundColor = "red";

    fpopup.show(230, 30, 200, 200, firstPopupDiv); // Not shown at 230!
}
</script>
</HEAD>
<BODY>
<div id="maindiv" onclick="tag_onclick()">Click me</div>
</BODY>
</HTML>

1 个答案:

答案 0 :(得分:0)

至于替代方案,jQuery Context Menu有很多jQuery个插件。

除此之外,我担心没有人能真正帮助你指出你的代码有什么问题,而不会看到你的代码......