禁用网页右键弹出菜单的例子就见多了,其实我们还可以把右键菜单替换自定义的内容,某些时候这还是一个不错的操作方式。原理很简单,先看看核心代码:
var opopup = window.createpopup(); //创建弹出式菜单实例
var opopbody = opopup.document.body; //这两句设置菜单的内容
opopbody.innerhtml = "菜单内容"; //可以合并为opopup.document.body.innerhtml="菜单内容";
opopup.show(event.x, event.y, 90, 41, document.body); //在需要的地方弹出菜单,90、41分别为菜单宽度和高度
应该很好理解吧。下面给一个实例,是我做的图片新闻的后台管理页面,左击图片修改内容,右击图片弹出操作菜单。
<html>
<head>
<title>自定义弹出菜单</title>
<meta http-equiv=content-type content="text/html; charset=gb2312">
<link href="../css/css.css" type=text/css rel=stylesheet>
<link href="../css/css2.css" type=text/css rel=stylesheet>
<style type="text/css">
<!--
body td
{
font-size:12px;
}
.prompt
{
height:22; font-size:12px;
background-color:lightyellow;
border:solid red 1px;
position:absolute;
left:0;top:0;
padding:4px;
display:none;
filter: alpha(opacity=80);
}
-->
</style>
<script language="javascript">
var opopup = window.createpopup();
function popmenu(id)
{
var opopbody = opopup.document.body;
opopbody.style.backgroundcolor = "buttonface";
opopbody.style.border = "solid black 1px";
opopbody.innerhtml = ""
+"<table cellpadding=0 cellspacing=0 border=0 width=100% style='font-size:12px;'>"
+"<tr><td valign=middle height=20 onmouseover=\"this.bgcolor='highlight';this.style.color='highlighttext';\" "
+"onmouseout=\"this.bgcolor='';this.style.color=''\" onclick=\"parent.window.open('/news/view.asp?id="+id+"');\"> 查看该新闻 </td></tr>"