【问题标题】:Javascript ContextMenu in IE7IE7 中的 Javascript 上下文菜单
【发布时间】:2011-02-09 07:14:15
【问题描述】:

我们在 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>

【问题讨论】:

  • 有很多事情可能会出错。您应该提供代码示例。需要注意的一件事是,您可能在 IE6 中使用的任何 CSS hack 在 IE7 中都会被破坏,并且会导致不可预测的布局行为。还有一个问题是您使用的是什么 DOCTYPE,等等。具体一点并提供完整的详细信息,您可能会得到一些帮助。

标签: asp.net javascript


【解决方案1】:

至于替代品,jQuery 有很多 jQuery Context Menu 插件。

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多