来者有分,页面右键菜单问题,即在有iframe的页面里右击时竟然会刷新!!

jingkunli 2009-05-04 03:06:59
以下是代码,可是问题是当我右击的时候竟然会刷新,看上去像是刷新,底下会有兰色显示条闪动而过!

<body onclick="showoff();">
<form id="Form1" method="post" runat="server">
<table>
<tr>
<td>
<DIV class="div20" style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px" oncontextmenu="fnoncontextmenu();return false;">标签1</DIV>
<DIV class="div20" style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px" oncontextmenu="fnoncontextmenu();return false;">标签1</DIV>
<DIV class="div20" style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px" oncontextmenu="fnoncontextmenu();return false;">标签1</DIV>
<DIV class="div20" style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px" oncontextmenu="fnoncontextmenu();return false;">标签1</DIV>
</td>
</tr>
<tr>
<td>
<iframe id="main" name="main" src="CallDefault.aspx" frameBorder="0" width="100%" scrolling="auto"
height="100%"></iframe>
</td>
</tr>
</table>
</form>
<script>
/*
var mname=new Array(
"关闭当前页",
"关闭所有页除了"
);
*/
/*
var mimg=new Array(
"<img src=\"../images/closeTabOne.gif\">",
"<img src=\"../images/closeTabAll.gif\">"
);
*/
//mname是菜单对应的名称,数组的个数必须与下面murl对应
/*
var murl=new Array(
"alert('关闭当前页');",
"alert('关闭所有页除了');"
);
*/
/****************以下代码请不要修改******************/

// 创建右键菜单
function fnoncontextmenu()
{
var ph=18,mwidth=120;//每条选项的高度,菜单的总宽度
var bgc="#eee",txc="black";//菜单没有选中的背景色和文字色
var cbgc="darkblue",ctxc="white";//菜单选中的选项背景色和文字色
var mover="this.style.background='"+cbgc+"';this.style.color='"+ctxc+"';"
var mout="this.style.background='"+bgc+"';this.style.color='"+txc+"';"
if(document.getElementById("mlay") != null)
{
document.getElementById("mlay").outerHTML = "";
}
var strHTML = "<DIV id=\"mlay\" style=\"BACKGROUND: #eee; "
+ "LEFT: "
+ (event.clientX)
+ "px; WIDTH: " + mwidth + "px; CURSOR: default; COLOR: black; "
+ "POSITION: absolute; TOP: "
+ (event.clientY)
+ "px; HEIGHT: " + 36 + "px; TEXT-ALIGN: left\""
+ " onclick=\"return false;\">";
strHTML += "<table width=100% height=" + "36" + "px cellpadding=0 cellspacing=0 border=0>";
strHTML += " <tr align=left height=" + ph + " onclick=\"" + "alert('关闭当前页');" + "\"><td>" + "<img src=\"../images/closeTabOne.gif\">" + "</td><td onMouseover=\"" + mover + "\" onMouseout=\"" + mout + "\" style='font-size:9pt;'>" + "关闭当前页"+" </td> </tr>";
strHTML += " <tr align=left height=" + ph + " onclick=\"" + "alert('关闭所有页除了');" + "\"><td>" + "<img src=\"../images/closeTabAll.gif\">" + "</td><td onMouseover=\"" + mover + "\" onMouseout=\"" + mout + "\" style='font-size:9pt;'>" + "关闭所有页除了"+" </td> </tr>";
strHTML += "</table>";
strHTML += "</DIV>";
document.getElementById("Form1").innerHTML += strHTML;
}
// 关闭显示层
function showoff()
{
if(document.getElementById("mlay") != null)
{
document.getElementById("mlay").outerHTML = "";
}
}
</script>
</body>


...全文
137 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hangang7403 2009-05-04
  • 打赏
  • 举报
回复
up
陌上花花 2009-05-04
  • 打赏
  • 举报
回复
学习了,帮顶了。
douzexin1111 2009-05-04
  • 打赏
  • 举报
回复
学习了
无先生 2009-05-04
  • 打赏
  • 举报
回复
JF
沉序员 2009-05-04
  • 打赏
  • 举报
回复
ding
qq6212639 2009-05-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cpp2017 的回复:]

问题出在这里
HTML codedocument.getElementById("Form1").innerHTML += strHTML;




你重新改变了form1.中的innerHTML,而这个innerHTML中又有iframe,改变的时候iframe会重连,所以要刷新.

1.不要动态改变form中的innerHTML,要改也用div等元素.

2.一个弹出菜单,不需要如此全部替换.有document.body.appendChlid(就可以解决问题,
[/Quote]
我觉得这个可以!
dd__dd 2009-05-04
  • 打赏
  • 举报
回复
document.getElementById("Form1").innerHTML += strHTML;
不要这么用,最好对指定div替换
cpp2017 2009-05-04
  • 打赏
  • 举报
回复

问题出在这里
document.getElementById("Form1").innerHTML += strHTML;



你重新改变了form1.中的innerHTML,而这个innerHTML中又有iframe,改变的时候iframe会重连,所以要刷新.

1.不要动态改变form中的innerHTML,要改也用div等元素.

2.一个弹出菜单,不需要如此全部替换.有document.body.appendChlid(就可以解决问题,
中年秃头大叔 2009-05-04
  • 打赏
  • 举报
回复
学习中...
syayaya 2009-05-04
  • 打赏
  • 举报
回复
不懂,学习
冬你个冬 2009-05-04
  • 打赏
  • 举报
回复
我测试了 什么也没有看出来呀
CoderBook 2009-05-04
  • 打赏
  • 举报
回复
顶一下!
pdsnet 2009-05-04
  • 打赏
  • 举报
回复
pdsnet 2009-05-04
  • 打赏
  • 举报
回复
顶完 再看
yzy8788 2009-05-04
  • 打赏
  • 举报
回复
就是来接分的。。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧