用Popup对象构建自定义的网页右键菜单

 

代码如下:

   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<TITLE>Popup对象实现右键菜单</TITLE>
<script language="JavaScript">
var oPopup = window.createPopup();
function contextMenu()
{
   
    var left = event.offsetX+10;
    var top = event.offsetY+10;
    oPopup.document.body.innerHTML = oContext.innerHTML;
    oPopup.show(left, top, 120, 80, window.document.body);
   
}
</script>
</head>
<body οncοntextmenu="contextMenu(); return false;">
<h1>Popup对象实现右键菜单</h1>
单击鼠标右键查看效果
<div ID="oContext" style="DISPLAY: none; BACKGROUND: #e4e4e4; ">
    <div οnmοuseοver="this.style.background='gold'"
         οnmοuseοut="this.style.background='#e4e4e4'"
       <span οnclick='parent.location.href="http://www.zol.com.cn"'>
    中关村在线</span>
    </div>
    <div οnmοuseοver="this.style.background='gold'"
         οnmοuseοut="this.style.background='#e4e4e4'"
    <span οnclick="parent.location.href='http://www.cfan.com.cn'">
    电脑爱好者</span>
    </div>
    <div οnmοuseοver="this.style.background='gold';"
         οnmοuseοut="this.style.background='#e4e4e4';">
    <span οnclick="parent.location.href='http://www.sina.com.cn'">
    新浪网</span>
    </div>
    <div οnmοuseοver="this.style.background='gold'"
         οnmοuseοut="this.style.background='#e4e4e4'"
    <span οnclick="parent.location.href='http://www.xinhuanet.com'">
    新华网</span>
    </div>
   
</div>
</body>
</html>
注意红色部分,刚开始我在用dhtmlxtree构建的树上

//菜单测试
  function tonrightclick(id,e){
         // alert("=======id======="+id);
       if("rot"==id.substring(0,3)){
           oPopBody.innerHTML   =   "<span id='contextmenu' style='border:1px solid #666666;background:#eeeeee;width=55px;text-align:center;padding:0px;display:block;position:absolute' οnclick='window.newopenwindow()'>New</span> ";         
                    oPopup.show(e.x,e.y,   55,   20,   document.body);
                   
       }else{
           var idStr='"'+id+'"';
         //  alert(idStr);
           oPopBody.innerHTML   =   "<span id='contextmenu' style='border:1px solid #666666;background:#eeeeee;width=55px;text-align:center;padding:0px;display:block;position:absolute' οnclick='window.del("+ idStr +")'>Delete</span> ";         
                    oPopup.show(e.x,e.y,  55,   20,   document.body);
       }
   };
   
   function newopenwindow(){
      // alert(1);
       window.parent.open ('/DataManager/apps/doc/favorite/favoriteInfoAdd.jsp', 'newwindow2', 'height=200, width=400, top=200, left=600, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no');
   }

使用上面的代码总会报“对象不支持此操作”,把window换成parent就没问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值