WEB开发网
开发学院网页设计JavaScript 自定义 IE 鼠标右键弹出式 阅读

自定义 IE 鼠标右键弹出式

 2007-11-27 17:25:55 来源:WEB开发网   
核心提示:<html><head><meta http-equiv=Content-Type content=text/html; charset=gb2312><title>自定义鼠标右键弹出式菜单</title><style type=text/css>

<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;
 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;
   }
return false;
}
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\;window.print()\>打印,
       window.location.reload()\>刷新];

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;
function findInPage(str) {
  var txt, i, found;
  if (str == )
   return false;
  if (NS4) {
   if (!win.find(str))
    while(win.find(str, false, true))
     n++;
   else
    n++;
   if (n == 0)
    alert(文档搜索完毕。);
  }
  if (IE4) {
   txt = win.document.body.createTextRange();
   for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
    txt.moveStart(character, 1);
    txt.moveEnd(textedit);
   }
   if (found) {
    txt.moveStart(character, -1);
    txt.findText(str);
    txt.select();
    txt.scrollIntoView();
    n++;
   }
   else {
    if (n > 0) {
     n = 0;
     findInPage(str);
    }
    else
     alert(文档搜索完毕。);
   }
  }
  return false;
}
</script>
</head>
<body>
自定义鼠标右键弹出式菜单
<SCRIPT LANGUAGE=JavaScript>
<!--
var MenuBarColor =#6600FF;
DrawMouseRightButtonUpMenu();
//-->
</SCRIPT>
</body>
</html>

Tags:定义 IE 鼠标

编辑录入:coldstar [复制链接] [打 印]
赞助商链接