自定义鼠标右键弹出式菜单

 

< html >
    
< head >
        
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
        
< title > 自定义鼠标右键弹出式菜单 </ title >
        
< style  type ="text/css" >
            .div1 
{  border-top : buttonface 1px solid ; border-left : buttonface 1px solid ; border-bottom : windowframe 1px solid ; border-right : windowframe 1px solid ; }
            .div2 
{  border-top : window 1px solid ; border-left : window 1px solid ; border-bottom : buttonshadow 1px solid ; border-right : buttonshadow 1px solid ; }
            .MouseOver 
{ background-color : highlight ; color : highlighttext ; font-size :  12px ; cursor : hand ; font-size :  12px ; }
            .MouseOut 
{ background-color : buttonface ; color : buttontext ; font-size :  12px ; cursor : default ; font-size :  12px ; }
        
</ style >

        
< script  language ="javascript" >

            
// 弹出菜单
             function  PopupMouseRightButtonUpMenu()
            {
                
// 显示菜单
                 if (MouseMenu.style.visibility == 'visible') MouseMenu.style.visibility = 'hidden';
                
// 如果是链接、文本区或输入框,则显示IE菜单
                
                
if  (event.srcElement.tagName == 'A'  ||  event.srcElement.tagName == 'TEXTAREA'  ||  event.srcElement.tagName == 'INPUT'  ||  document.selection.type != 'None')
                    
return   true ;
                
else
                {
                    
// 防止菜单出格
                     if  (event.clientX + 150   >  document.body.clientWidth) MouseMenu.style.left = event.clientX + document.body.scrollLeft - 150 ;
                    
else  MouseMenu.style.left = event.clientX + document.body.scrollLeft;
                    
if  (event.clientY + DivH  >  document.body.clientHeight) MouseMenu.style.top = event.clientY + document.body.scrollTop - DivH;
                    
else  MouseMenu.style.top = event.clientY + document.body.scrollTop;
                    MouseMenu.style.visibility
= 'visible';
                }
                
// 禁止IE菜单
                 return   false ;
            }
            
            
// 画出菜单,但不显示
             function  OpenChild() 
            {
                
var  ParmA  =   "" ;
                
var  ParmB  =   "" ;
                
var  ParmC  =   "" ;
                
var  MyArgs  =   new  Array(ParmA, ParmB, ParmC);
                
var  WinSettings  =   " center:yes;resizable:no;dialogHeight:300px "
                
// ALTER BELOW LINE - supply correct URL for Child Form
                 var  MyArgs  =  window.showModalDialog( " ChildWebForm.htm " , MyArgs, WinSettings);
                
if  (MyArgs  ==   null )
                {
                    window.alert(
" Nothing returned from child. No changes made to input boxes " )
                }
                
else
                {
                    retvalA.value
= MyArgs[ 0 ].toString();
                    retvalB.value
= MyArgs[ 1 ].toString();
                    retvalC.value
= MyArgs[ 2 ].toString();
                }
            }
            
            
function  tete()
            {
                
var  a = " adfasdf " ;
                alert(a);
            }
            
            
function  DrawMouseRightButtonUpMenu(){
                DivH
= 2 ;
                
// oSelection = document.selection;
                 var  HrStr = ' < tr >< td align = \ " center\ "  valign = \ " middle\ "  height = \ " 2\ " >< TABLE border = \ " 0\ "  cellpadding = \ " 0\ "  cellspacing = \ " 0\ "  width = \ " 128\ "  height = \ " 2\ " >< tr >< td height = \ " 1\ "  bgcolor = \ " buttonshadow\ " >< \ / td >< \ / tr >< tr >< td height = \ " 1\ "  bgcolor = \ " buttonhighlight\ " >< \ / td >< \ / tr >< \ / TABLE >< \ / td >< \ / tr > ';
                
var  MenuItemStr1 = ' < tr >< td align = \ " center\ "  valign = \ " middle\ "  height = \ " 20\ " >< TABLE border = \ " 0\ "  cellpadding = \ " 0\ "  cellspacing = \ " 0\ "  width = \ " 132\ " >< tr >< td valign = \ " middle\ "  height = \ " 16\ "  class = \ " MouseOut\ "  onMouseOver = \ " this.className=\'MouseOver\'\ "  onMouseOut = \ " this.className=\'MouseOut\'\ "  onclick = \ " '
                var MenuItemStr2=
" < \ / td >< \ / tr >< \ / TABLE >< \ / td >< \ / tr > " ;
                var historyMenu=['window.history.back()\
" > 后退','window.history.forward()\ " >前进'];
                var SysMenu=['\
" > 查找  < INPUT TYPE = \ " text\ "  Size = \ " 10\ "  onkeypress = \ " if (event.keyCode == 13) {MouseMenu.style.visibility=\'hidden\';var temp = this.value; this.value = \'\';return findInPage(temp)}\ " ;\' > ',
                            'document.execCommand(\'SelectAll\')\
" >全选',
                            'MouseMenu.style.visibility=\'hidden\';document.execCommand(\'SaveAs\',\'true\')\
" > 另存为 ',
                            'location.replace(\'view
- source:\' + location.href)\ " >查看源文件',
                            'MouseMenu.style.visibility=\'hidden\';OpenChild()\
" > 打印',
                            'tete()\
" >刷新'];

                var MenuStr='';
                for(i=0;i<historyMenu.length;i++)
                {
                    MenuStr+=MenuItemStr1+historyMenu[i]+MenuItemStr2;
                    DivH+=20;
                }
                MenuStr+=HrStr;
                for(i=0;i<arguments.length;i++)
                {
                    MenuStr+=MenuItemStr1+arguments[i]+MenuItemStr2;
                    DivH+=20;
                }

                if(arguments.length>0)
                {
                    MenuStr+=HrStr;
                    DivH+=2;
                }

                for(i=0;i<SysMenu.length;i++)
                {
                    MenuStr+=MenuItemStr1+SysMenu[i]+MenuItemStr2;
                    DivH+=20;
                }

                var aboutMenu=['MouseMenu.style.visibility=\'hidden\';alert(\'http:\/\/www.playyuer.com\\nmailto:playyuer@263.net\')
" > 关于 ']
                MenuStr
+= HrStr;
                
for (i = 0 ;i < aboutMenu.length;i ++ )
                {
                    MenuStr
+= MenuItemStr1 + aboutMenu[i] + MenuItemStr2;
                    DivH
+= 20 ;
                }

                
var  MenuTop  =  ' < DIV id = \ " MouseMenu\ "  class = \ " div1\ "  style = \ " position:absolute; left:0px; top:0px; width=150;height='+DivH+'; z-index:1; visibility:hidden;\ " > \n'  +
                            '
< TABLE border = \ " 0\ "  cellpadding = \ " 0\ "  cellspacing = \ " 0\ "  class = \ " div2\ " > \n'  +
                            '
< tr > \n'  +
                            '
< td bgcolor = \ " ' + MenuBarColor+ '\ "  width = \ " 50\ "  valign = \ " bottom\ "  align = \ " center\ "   bgcolor = \ " buttonface\ " > \n'  +
                            '
< \ / td > \n' +  
                            '
< td bgcolor = \ " buttonface\ " > \n' +  
                            '
< TABLE border = \ " 0\ "  cellpadding = \ " 0\ "  cellspacing = \ " 0\ " > ';
                
var  MenuBottom  =  ' < \ / TABLE >< \ / td >< \ / tr >< \ / TABLE >< \ / DIV > ';
                document.write(MenuTop
+ MenuStr + MenuBottom);
                
// prompt('aa',MenuTop+MenuStr+MenuBottom)
                document.body.oncontextmenu = new  Function(' return  PopupMouseRightButtonUpMenu();');
                document.body.onclick
= new  Function(' if (event.srcElement.tagName  != \'INPUT\') MouseMenu.style.visibility = \'hidden\'');
                document.body.onscroll
= new  Function('MouseMenu.style.visibility = \'hidden\';');
                document.body.onselectstart
= new  Function('MouseMenu.style.visibility = \'hidden\';');
                window.onresizestart
= new  Function('MouseMenu.style.visibility = \'hidden\';');
            }
            
var  NS4  =  (document.layers);
            
var  IE4  =  (document.all);
            
var  win  =  window;
            
var  n  =   0 ;

        
</ script >
    
</ head >
    
    
< body >
        自定义鼠标右键弹出式菜单 
< href ="http://hsxixi.cnblogs.com" > 坐看云起Blog </ a >
        
        
< SCRIPT  LANGUAGE ="JavaScript" >
            
var  MenuBarColor  = '#6600FF';
            DrawMouseRightButtonUpMenu();
        
</ SCRIPT >
    
</ body >
</ html >

转载于:https://www.cnblogs.com/gogoo/archive/2007/06/29/800528.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值