`

ie 右键按钮

阅读更多

有项目需要使用到鼠标右键菜单功能,在javascript网页特效网中找的一个样例,改了一下,可以在特定的区域显示邮件菜单,同事传参数给菜单

代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<HTML>
<HEAD>
<TITLE>右键菜单</TITLE>
<style type="text/css">
<!--
body {
font-size: 9pt;
}

table {
font-size: 9pt;
cursor: default;
margin: 0;
}

tr {
height: 20;
}

tr.over {
font-size: 9pt;
color: #ffffff;
background-color: #66aadd;
cursor: default;
}

tr.out {
font-size: 9pt;
color: #ffffff;
background-color: #336699;
cursor: default;
}

div.rm_div {
position: absolute;
filter: Alpha(Opacity =   '95');
display: none;
border: 2px outset #3377aa;
background-color: #336699;
width: 0;
height: 0;
}

hr.sperator {
border: 1px inset #3377aa;
}
-->
</style>
<script language="JScript">
  <!--
  function RightMenu()
  {
    this.AddExtendMenu=AddExtendMenu;
    this.AddItem=AddItem;
    this.GetMenu=GetMenu;
    this.HideAll=HideAll;
    this.I_OnMouseOver=I_OnMouseOver;
    this.I_OnMouseOut=I_OnMouseOut;
    this.I_OnMouseUp=I_OnMouseUp;
    this.P_OnMouseOver=P_OnMouseOver;
    this.P_OnMouseOut=P_OnMouseOut;
    A_rbpm = new Array();
    HTMLstr  = "";
    HTMLstr += "<!-- RightButton PopMenu -->\n";
    HTMLstr += "\n";
    HTMLstr += "<!-- PopMenu Starts -->\n";
    HTMLstr += "<div id='E_rbpm' class='rm_div'>\n";
                        // rbpm = right button pop menu
    HTMLstr += "<table width='100%' border='0' cellspacing='0'>\n";
    HTMLstr += "<!-- Insert A Extend Menu or Item On Here For E_rbpm -->\n";
    HTMLstr += "</table>\n";
    HTMLstr += "</div>\n";
    HTMLstr += "<!-- Insert A Extend_Menu Area on Here For E_rbpm -->";
    HTMLstr += "\n";
    HTMLstr += "<!-- PopMenu Ends -->\n";
  }
  function AddExtendMenu(id,name,parent)
  {
    var TempStr = "";
    if(HTMLstr.indexOf("<!-- Extend Menu Area : E_"+id+" -->") != -1)
    {
      alert("E_"+id+"already exist!");
      return;
    }
    eval("A_"+parent+".length++");
    eval("A_"+parent+"[A_"+parent+".length-1] = id");  // 将此项注册到父菜单项的ID数组中去
    TempStr += "<!-- Extend Menu Area : E_"+id+" -->\n";
    TempStr += "<div id='E_"+id+"' class='rm_div'>\n";
    TempStr += "<table width='100%' border='0' cellspacing='0'>\n";
    TempStr += "<!-- Insert A Extend Menu or Item On Here For E_"+id+" -->";
    TempStr += "</table>\n";
    TempStr += "</div>\n";
    TempStr += "<!-- Insert A Extend_Menu Area on Here For E_"+id+" -->";
    TempStr += "<!-- Insert A Extend_Menu Area on Here For E_"+parent+" -->";
    HTMLstr = HTMLstr.replace("<!-- Insert A Extend_Menu Area on Here For E_"+parent+" -->",TempStr);

   
    eval("A_"+id+" = new Array()");
    TempStr  = "";
    TempStr += "<!-- Extend Item : P_"+id+" -->\n";
    TempStr += "<tr id='P_"+id+"' class='out'";
    TempStr += " onmouseover='P_OnMouseOver(\""+id+"\",\""+parent+"\")'";
    TempStr += " onmouseout='P_OnMouseOut(\""+id+"\",\""+parent+"\")'";
    TempStr += " onmouseup=window.event.cancelBubble=true;";
    TempStr += " onclick=window.event.cancelBubble=true;";
    TempStr += "><td nowrap>";
    TempStr += "&nbsp;&nbsp;&nbsp;"+name+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td style='font-family: webdings; text-align: right;'>4";
    TempStr += "</td></tr>\n";
    TempStr += "<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->";
    HTMLstr = HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
  }
  function AddItem(id,name,parent,location)
  {
    var TempStr = "";
    var ItemStr = "<!-- ITEM : I_"+id+" -->";
    if(id == "sperator")
    {
      TempStr += ItemStr+"\n";
      TempStr += "<tr style='height: 3;' class='out' onclick='window.event.cancelBubble=true;' onmouseup='window.event.cancelBubble=true;'><td colspan='2'><hr class='sperator'></td></tr>";
      TempStr += "<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->";
      HTMLstr = HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
      return;
    }
    if(HTMLstr.indexOf(ItemStr) != -1)
    {
      alert("I_"+id+"already exist!");
      return;
    }
    TempStr += ItemStr+"\n";
    TempStr += "<tr id='I_"+id+"' class='out'";
    TempStr += " onmouseover='I_OnMouseOver(\""+id+"\",\""+parent+"\")'";
    TempStr += " onmouseout='I_OnMouseOut(\""+id+"\")'";
    TempStr += " onclick='window.event.cancelBubble=true;'";
    if(location == null)
      TempStr += " onmouseup='I_OnMouseUp(\""+id+"\",\""+parent+"\",null)'";
    else
      TempStr += " onmouseup='I_OnMouseUp(\""+id+"\",\""+parent+"\",\""+location+"\")'";
    TempStr += "><td nowrap>";
    TempStr += "&nbsp;&nbsp;&nbsp;"+name+"&nbsp;&nbsp;&nbsp;";
    TempStr += "</td><td></td></tr>\n";
    TempStr += "<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->";
    HTMLstr = HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
  }
  function GetMenu()
  {
    return HTMLstr;
  }
  function I_OnMouseOver(id,parent)
  {
    var Item;
    if(parent != "rbpm")
    {
      var ParentItem;
      ParentItem = eval("P_"+parent);
      ParentItem.className="over";
    }
    Item = eval("I_"+id);
    Item.className="over";
    HideAll(parent,1);
  }
  function I_OnMouseOut(id)
  {
    var Item;
    Item = eval("I_"+id);
    Item.className="out";
  }
  function I_OnMouseUp(id,parent,location)
  {
    var ParentMenu;
    window.event.cancelBubble=true;
    OnClick();
    ParentMenu = eval("E_"+parent);
    ParentMenu.display="none";
    if(location == null)
      eval("Do_"+id+"()");
    else
      window.open(location);
  }
  function P_OnMouseOver(id,parent)
  {
    var Item;
    var Extend;
    var Parent;
    if(parent != "rbpm")
    {
      var ParentItem;
      ParentItem = eval("P_"+parent);
      ParentItem.className="over";
    }
    HideAll(parent,1);
    Item = eval("P_"+id);
    Extend = eval("E_"+id);
    Parent = eval("E_"+parent);
    Item.className="over";
    Extend.style.display="block";
    Extend.style.posLeft=document.body.scrollLeft+Parent.offsetLeft+Parent.offsetWidth-4;
    if(Extend.style.posLeft+Extend.offsetWidth > document.body.scrollLeft+document.body.clientWidth)
        Extend.style.posLeft=Extend.style.posLeft-Parent.offsetWidth-Extend.offsetWidth+8;
    if(Extend.style.posLeft < 0) Extend.style.posLeft=document.body.scrollLeft+Parent.offsetLeft+Parent.offsetWidth;
    Extend.style.posTop=Parent.offsetTop+Item.offsetTop;
    if(Extend.style.posTop+Extend.offsetHeight > document.body.scrollTop+document.body.clientHeight)
      Extend.style.posTop=document.body.scrollTop+document.body.clientHeight-Extend.offsetHeight;
    if(Extend.style.posTop < 0) Extend.style.posTop=0;
  }
  function P_OnMouseOut(id,parent)
  {
  }
  function HideAll(id,flag)
  {
    var Area;
    var Temp;
    var i;
    if(!flag)
    {
      Temp = eval("E_"+id);
      Temp.style.display="none";
    }
    Area = eval("A_"+id);
    if(Area.length)
    {
      for(i=0; i < Area.length; i++)
      {
        HideAll(Area[i],0);
        Temp = eval("E_"+Area[i]);
        Temp.style.display="none";
        Temp = eval("P_"+Area[i]);
        Temp.className="out";
      }
    }
  }

  //document.onmouseup=OnMouseUp;
 
  document.onclick=OnClick;
  function OnMouseUp(obj)
  {
 
    if(window.event.button == 2)
    {
      var PopMenu;
      var id = obj.id;
      url = "http://www.baidu.com/s?wd="+id;
      document.getElementById("I_aa").onmouseup=function(){I_OnMouseUp('aa','rbpm',url)};
      document.getElementById("I_bb").onmouseup=function(){I_OnMouseUp('bb','rbpm',url)};
      document.getElementById("I_cc").onmouseup=function(){I_OnMouseUp('cc','rbpm',url)};
      document.getElementById("I_dd").onmouseup=function(){I_OnMouseUp('dd','rbpm',url)};
      document.getElementById("I_ee").onmouseup=function(){I_OnMouseUp('ee','rbpm',url)};
      document.getElementById("I_ff").onmouseup=function(){I_OnMouseUp('ff','rbpm',url)};
      PopMenu = eval("E_rbpm");
      HideAll("rbpm",0);
      PopMenu.style.display="block";
      PopMenu.style.posLeft=document.body.scrollLeft+window.event.clientX;
      PopMenu.style.posTop=document.body.scrollTop+window.event.clientY;
      if(PopMenu.style.posLeft+PopMenu.offsetWidth > document.body.scrollLeft+document.body.clientWidth)
        PopMenu.style.posLeft=document.body.scrollLeft+document.body.clientWidth-PopMenu.offsetWidth;
      if(PopMenu.style.posLeft < 0) PopMenu.style.posLeft=0;
      if(PopMenu.style.posTop+PopMenu.offsetHeight > document.body.scrollTop+document.body.clientHeight)
        PopMenu.style.posTop=document.body.scrollTop+document.body.clientHeight-PopMenu.offsetHeight;
      if(PopMenu.style.posTop < 0) PopMenu.style.posTop=0;
    }
  }
  function OnClick()
  {
    HideAll("rbpm",0);
  }

var menu = new RightMenu();
menu.AddItem("aa","强制示闲","rbpm","http://www.baidu.com");
menu.AddItem("bb","强制签出","rbpm","http://www.baidu.com");
menu.AddItem("cc","拦截","rbpm","http://www.baidu.com");
menu.AddItem("dd","插入","rbpm","http://www.baidu.com");
menu.AddItem("ee","监听","rbpm","http://www.baidu.com");
menu.AddItem("ff","监屏","rbpm","http://www.baidu.com");
document.writeln(menu.GetMenu());

  -->
  </script>
</HEAD>
<BODY oncontextmenu="window.event.returnValue=false">

<TABLE width="60%" border="0" cellspacing="10" cellpadding="0">
<TR>
<TD onmouseup="OnMouseUp(this);" id="aa" width="20%" height="100px"
bgcolor="#c0c0c0">
aaa

</TD>
<TD onmouseup="OnMouseUp(this);" id="bb" width="20%" height="100px"
bgcolor="#c0c0c0">
bbb

</TD>
<TD onmouseup="OnMouseUp(this);" id="cc" width="20%" height="100px"
bgcolor="#c0c0c0">
ccc
</TD>
</TR>
<TR>
<TD onmouseup="OnMouseUp(this);" id="dd" width="20%" height="100px"
bgcolor="#c0c0c0">
ddd
</TD>
<TD onmouseup="OnMouseUp(this);" id="ee" width="20%" height="100px"
bgcolor="#c0c0c0">
eee
</TD>
<TD onmouseup="OnMouseUp(this);" id="ff" width="20%" height="100px"
bgcolor="#c0c0c0">
fff
</TD>
</TR>

</TABLE>
</BODY>
</HTML>

 

0
0
分享到:
评论

相关推荐

    右键管理器

    除了IE右键菜单之外,右击文件夹以及新建文档时,同样有很多烦人的多余选项惹人烦,让我们一起清理掉。 1、增加部分第三方软件右键描述识别; 2、修正最小化按钮可能失效的问题; 3、支持Windows 64位操作系统; 4、...

    右键管家 V1.1.0.0

    右键管家能够快速检测Windows资源管理器(Explorer)右键菜单和IE右键菜单,可按个人所需对右键菜单项目进行启用/禁用、增加/删除等操作,并能按照文件类型对右键菜单进行分类管理。优化您的鼠标右键,还你清爽简单的...

    删除右键菜单中的选项

    - 在这里,你可以看到与IE右键菜单相关的各项设置。通常情况下,广告插件或不常用的扩展程序会在此处留下记录。 - 小心地删除这些不必要的条目。需要注意的是,一些常见的下载工具如FlashGet和Netants也被列于此处,...

    鼠标右键控制ie Windows窗口

    标题中的“鼠标右键控制ie Windows窗口”指的是在Windows操作系统中,通过鼠标右键菜单实现对Internet Explorer(简称ie)浏览器窗口的操作,如前进、后退和关闭等。这一功能通常是由第三方软件或插件提供的,它扩展...

    win7右键菜单删除多余项

    1. 清理 IE 右键菜单: * 在系统桌面上单击“开始→运行”项 * 在随后出现的窗口中的“打开”栏中键入 regedit 并单击“确定”按钮运行注册表编辑器 * 在 注册表中的HKEY_CURRENT_USERSoftware\...

    js屏蔽鼠标右键js屏蔽鼠标右键js屏蔽鼠标右键

    - `which`属性用于获取按下按钮的编号:1表示左键,2表示滚轮,3表示右键。 - `button`属性在旧版本浏览器中用于获取按下按钮的信息,与`which`类似。 4. **事件绑定**: - ```javascript document....

    用JS实现右键的复制,拈帖和剪切功能

    ### 使用JavaScript实现右键的复制、粘贴和剪切功能 #### 一、背景介绍 在Web开发过程中,有时我们需要模拟浏览器自带的右键菜单中的复制(Copy)、粘贴(Paste)以及剪切(Cut)功能。这不仅能够增强用户体验,还...

    Vb隐藏/显示IE浏览器上的右键菜单实例.rar

    5. **显示/隐藏切换**:如果你希望在程序中控制右键菜单的显示和隐藏,可以添加一个按钮或者根据其他条件来切换`oncontextmenu`的值。例如,你可以将其设置为`"return true"`来恢复默认的右键菜单。 6. **VB与...

    js 右键事件源码

    在上述代码中,当用户对按钮执行右键点击时,会调用`handleRightClick`函数。然而,这种方法并不推荐,因为它将行为与表现混合在一起,不利于代码的维护和扩展。 更现代和推荐的做法是使用DOM2级事件监听器: ```...

    IE工具栏按钮修改程序源代码

    标题中的“IE工具栏按钮修改程序源代码”指的是一个用于自定义Internet Explorer浏览器工具栏的程序,它允许用户根据自己的需求添加、删除或修改工具栏上的按钮。在互联网早期,IE浏览器是主流的网页浏览工具,用户...

    Delphi隐藏IE浏览器的右键菜单

    Delphi隐藏IE浏览器的右键关联菜单,实例操作说明:在打开IE浏览器后,选中文本或图片,然后用鼠标右键进行剪切、复制等操作。本实例是屏蔽右键下拉菜单的功能实现,点击窗口上对应的功能按钮可演示效果。 运行环境...

    xp超级右键管理-右键修改随心所欲

    这款软件能够让你对包括IE浏览器、文件夹、桌面以及特定文件在内的各种对象的右键菜单进行个性化定制,极大地提高了操作效率。 一、右键菜单的结构与工作原理 在Windows系统中,右键菜单是由注册表中的键值控制的。...

    IE已经合并进Edge浏览器的解决办法,打开IE自动跳转到Edge浏览器的解决办法

    右键单击IE图标,选择“创建快捷方式”,然后双击这个快捷方式就可以直接启动IE,而不会被重定向到Edge。 请注意,这些步骤可能会因Edge的版本更新而有所变化。确保你的Edge浏览器是最新版本,以获取最佳的用户体验...

    win11安装ie11浏览器

    然后,右键点击“开始”按钮,选择“设置”。在设置界面,找到并进入“更新与安全” -&gt; “开发者选项”,在这里,你可以开启“开发者模式”。 2. **下载并安装“IE11恢复程序”**:由于Win11默认不包含IE11,你需要...

    js禁止右键和禁止复制

    `onselectstart`事件在用户尝试选择文本时触发,而`onmousedown`事件则在鼠标按钮被按下时触发。通过在这些事件中返回`false`,可以阻止文本被选中,进而避免复制操作。 #### 代码示例: 对于Internet Explorer 4+...

    IE警察

    现在浏览网页,经常很容易被一些网站恶意修改浏览器的首页,修改IE的标题显示,有的还会在IE的右键菜单中添加一些项目,还有的会在IE的工具栏添加一些按钮,更有甚者还会让你无法修改IE的首页,其实这些都是某些网页...

    IE WebBrowser编程技巧

    使用Delphi开发IE右键菜单扩展 IE异步可插入协议扩展 Delphi开发IE下载扩展 创建3721样式的Google搜索扩展 HTML代码过滤技术 GetDefaultBrowser 得到的HTML代码的IE窗口 下载网址wininet --------------------------...

    鼠标右键菜单设置方法.docx

    在优化大师的"右键设置"中,用户可以单击"更多设置"按钮,进入右键菜单的设置窗口。在这个窗口中,用户可以设置更多的右键菜单项目,例如"新建菜单"、"发送到菜单"、"IE 浏览器工具菜单"等。用户也可以在"自定义右键...

    易语言挂接到IE浏览器

    在本主题中,我们将探讨如何使用易语言将自定义功能挂接到Internet Explorer(简称IE)浏览器,包括添加和删除易语言到IE浏览器的工具栏以及系统右键菜单。 首先,挂接到IE浏览器意味着我们要编写代码使得易语言...

Global site tag (gtag.js) - Google Analytics