JS 右键创建菜单
2012-04-11 20:43
302 查看
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function csMenu(_object, _menu)
{
this.IEventHander = null;
this.IFrameHander = null;
this.IContextMenuHander = null;
this.Show = function(_menu)
{
var e = window.event || event;
if (e.button == 2)
{
if (window.document.all)
{
this.IContextMenuHander = function(){return false;};
document.attachEvent("oncontextmenu", this.IContextMenuHander);
}
else
{
this.IContextMenuHander = document.oncontextmenu;
document.oncontextmenu = function(){return false;};
}
window.csMenu$Object = this;
this.IEventHander = function(){window.csMenu$Object.Hide(_menu);};
if (window.document.all)
document.attachEvent("onmousedown", this.IEventHander);
else
document.addEventListener("mousedown", this.IEventHander, false);
_menu.style.left = e.clientX;
_menu.style.top = e.clientY;
_menu.style.display = "";
if (this.IFrameHander)
{
var _iframe = document.getElementById(this.IFrameHander);
_iframe.style.left = e.clientX;
_iframe.style.top = e.clientY;
_iframe.style.height = _menu.offsetHeight;
_iframe.style.width = _menu.offsetWidth;
_iframe.style.display = "";
}
}
};
this.Hide = function(_menu)
{
var e = window.event || event;
var _element = e.srcElement;
do
{
if (_element == _menu)
{
return false;
}
}
while ((_element = _element.offsetParent));
if (window.document.all)
document.detachEvent("on"+e.type, this.IEventHander);
else
document.removeEventListener(e.type, this.IEventHander, false);
if (this.IFrameHander)
{
var _iframe = document.getElementById(this.IFrameHander);
_iframe.style.display = "none";
}
_menu.style.display = "none";
if (window.document.all)
document.detachEvent("oncontextmenu", this.IContextMenuHander);
else
document.oncontextmenu = this.IContextMenuHander;
};
this.initialize = function(_object, _menu)
{
window._csMenu$Object = this;
var _eventHander = function(){window._csMenu$Object.Show(_menu);};
_menu.style.position = "absolute";
_menu.style.display = "none";
_menu.style.zIndex = "1000000";
if (window.document.all)
{
var _iframe = document.createElement('iframe');
document.body.insertBefore(_iframe, document.body.firstChild);
_iframe.id = _menu.id + "_iframe";
this.IFrameHander = _iframe.id;
_iframe.style.position = "absolute";
_iframe.style.display = "none";
_iframe.style.zIndex = "999999";
_iframe.style.border = "0px";
_iframe.style.height = "0px";
_iframe.style.width = "0px";
_object.attachEvent("onmouseup", _eventHander);
}
else
{
_object.addEventListener("mouseup", _eventHander, false);
}
};
this.initialize(_object, _menu);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="Table1" style="width: 1000px; height: 1000px; border: 1px solid black">
</table>
</div>
<div id="Menu1" style="background-color: White; border: 1px solid #cccccc; padding: 10px;">
<li onclick="alert();">打开</li>
<li>打印</li>
<li>回复发件人</li>
<li>全部回复</li>
<li>转发</li>
<li>分配</li>
<li>垃圾邮件</li>
<li>删除</li>
<li>归档此邮件</li>
<li>分拣此邮件</li>
</div>
</form>
<script type="text/javascript">
var MM = new csMenu(document.getElementById("Table1"), document.getElementById("Menu1"));
</script>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function csMenu(_object, _menu)
{
this.IEventHander = null;
this.IFrameHander = null;
this.IContextMenuHander = null;
this.Show = function(_menu)
{
var e = window.event || event;
if (e.button == 2)
{
if (window.document.all)
{
this.IContextMenuHander = function(){return false;};
document.attachEvent("oncontextmenu", this.IContextMenuHander);
}
else
{
this.IContextMenuHander = document.oncontextmenu;
document.oncontextmenu = function(){return false;};
}
window.csMenu$Object = this;
this.IEventHander = function(){window.csMenu$Object.Hide(_menu);};
if (window.document.all)
document.attachEvent("onmousedown", this.IEventHander);
else
document.addEventListener("mousedown", this.IEventHander, false);
_menu.style.left = e.clientX;
_menu.style.top = e.clientY;
_menu.style.display = "";
if (this.IFrameHander)
{
var _iframe = document.getElementById(this.IFrameHander);
_iframe.style.left = e.clientX;
_iframe.style.top = e.clientY;
_iframe.style.height = _menu.offsetHeight;
_iframe.style.width = _menu.offsetWidth;
_iframe.style.display = "";
}
}
};
this.Hide = function(_menu)
{
var e = window.event || event;
var _element = e.srcElement;
do
{
if (_element == _menu)
{
return false;
}
}
while ((_element = _element.offsetParent));
if (window.document.all)
document.detachEvent("on"+e.type, this.IEventHander);
else
document.removeEventListener(e.type, this.IEventHander, false);
if (this.IFrameHander)
{
var _iframe = document.getElementById(this.IFrameHander);
_iframe.style.display = "none";
}
_menu.style.display = "none";
if (window.document.all)
document.detachEvent("oncontextmenu", this.IContextMenuHander);
else
document.oncontextmenu = this.IContextMenuHander;
};
this.initialize = function(_object, _menu)
{
window._csMenu$Object = this;
var _eventHander = function(){window._csMenu$Object.Show(_menu);};
_menu.style.position = "absolute";
_menu.style.display = "none";
_menu.style.zIndex = "1000000";
if (window.document.all)
{
var _iframe = document.createElement('iframe');
document.body.insertBefore(_iframe, document.body.firstChild);
_iframe.id = _menu.id + "_iframe";
this.IFrameHander = _iframe.id;
_iframe.style.position = "absolute";
_iframe.style.display = "none";
_iframe.style.zIndex = "999999";
_iframe.style.border = "0px";
_iframe.style.height = "0px";
_iframe.style.width = "0px";
_object.attachEvent("onmouseup", _eventHander);
}
else
{
_object.addEventListener("mouseup", _eventHander, false);
}
};
this.initialize(_object, _menu);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="Table1" style="width: 1000px; height: 1000px; border: 1px solid black">
</table>
</div>
<div id="Menu1" style="background-color: White; border: 1px solid #cccccc; padding: 10px;">
<li onclick="alert();">打开</li>
<li>打印</li>
<li>回复发件人</li>
<li>全部回复</li>
<li>转发</li>
<li>分配</li>
<li>垃圾邮件</li>
<li>删除</li>
<li>归档此邮件</li>
<li>分拣此邮件</li>
</div>
</form>
<script type="text/javascript">
var MM = new csMenu(document.getElementById("Table1"), document.getElementById("Menu1"));
</script>
</body>
</html>
相关文章推荐
- 用js创建简单右键菜单
- pbwebfrom采用JS来创建右键弹出菜单
- JS 屏蔽右键,创建右键菜单
- js 添加chrome右键菜单
- JS 屏蔽右键菜单
- Js弹出右键菜单
- 关于右键动态创建菜单的响应问题
- js自定义右键菜单
- JS屏蔽Cognos报表右键菜单
- js禁用页面上右键菜单、选中和复制
- 开启Visual Studio 2012通过右键菜单创建单元测试(Unit Test)
- JS实现简易网页右键菜单
- XML+JS创建树形菜单
- 创建RichTextBox的右键菜单(比较基础的东西了)
- 屏蔽右键菜单+右键事件 js
- MFC创建右键弹出菜单的方法
- Extjs 右键菜单创建问题
- 右键菜单的创建总结
- 在windows右键菜单中加入“新建CPP”并创建模板
- js屏蔽右键 显示菜单或者选择页面上的信息(FF、IE均能用)