javascript自定义右键菜单并屏蔽默认右键菜单【原创】
2017-05-02 23:06
405 查看
原理很简单,就是右击鼠标(oncontextmenu事件)return false阻止默认右键菜单,之后显示自定义的右键菜单,菜单显示位置由事件源的clientX和clientY计算得出。
[html] view
plain copy
print?
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>拖拽+自定义右键菜单</title>
<style type="text/css">
body{ margin:0; padding:0}
#ul1{ width:130px; height:120px; padding:10px 3px; background:#fff; border:#ACA899 1px solid; display:none; position:absolute; left:0;top:0;}
#ul1 li{ width:130px; height:28px; line-height:28px; font-size:14px; border-bottom:#ACA899 1px dashed; text-align:center; list-style:none}
#ul1 li:hover{ background:#316AC5}
</style>
<script type="text/javascript">
window.onload=function()
{
var ul=document.getElementById("ul1")
document.oncontextmenu=function(ev)
{
var ev=ev||window.event
var l=ev.clientX
var t=ev.clientY
ul.style.display="block"
ul.style.left=l+'px'
ul.style.top=t-16+'px'
return false;
}
document.onclick=function()
{
ul.style.display="none"
}
}
</script>
</head>
<body>
<ul id="ul1">
<li>自定义右键菜单</li>
<li>自定义右键菜单</li>
<li>自定义右键菜单</li>
<li>自定义右键菜单</li>
</ul>
</body>
</html>
[html] view
plain copy
print?
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>拖拽+自定义右键菜单</title>
<style type="text/css">
body{ margin:0; padding:0}
#ul1{ width:130px; height:120px; padding:10px 3px; background:#fff; border:#ACA899 1px solid; display:none; position:absolute; left:0;top:0;}
#ul1 li{ width:130px; height:28px; line-height:28px; font-size:14px; border-bottom:#ACA899 1px dashed; text-align:center; list-style:none}
#ul1 li:hover{ background:#316AC5}
</style>
<script type="text/javascript">
window.onload=function()
{
var ul=document.getElementById("ul1")
document.oncontextmenu=function(ev)
{
var ev=ev||window.event
var l=ev.clientX
var t=ev.clientY
ul.style.display="block"
ul.style.left=l+'px'
ul.style.top=t-16+'px'
return false;
}
document.onclick=function()
{
ul.style.display="none"
}
}
</script>
</head>
<body>
<ul id="ul1">
<li>自定义右键菜单</li>
<li>自定义右键菜单</li>
<li>自定义右键菜单</li>
<li>自定义右键菜单</li>
</ul>
</body>
</html>
相关文章推荐
- javascript自定义右键菜单并屏蔽默认右键菜单【原创】
- js屏蔽鼠标右键默认事件以实现自定义菜单
- javascript屏蔽默认右键增加自定义事件
- 使用Javascript封装实现屏蔽鼠标右键系统键菜单,并绑定自定义的事件
- javascript+css实现自定义网页右键菜单
- silverlight2自定义鼠标右键菜单,屏蔽原来右键菜单显示的内容,打造自己喜欢的菜单。
- Flex屏蔽并自定义鼠标右键菜单
- JavaScript屏蔽指定区域右键菜单
- 屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能
- Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解)
- 通过API函数屏蔽Flash的右键菜单(或者自定义Flash右键菜单)
- 屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能
- 屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能
- Flex屏蔽并自定义鼠标右键菜单
- skyline中屏蔽或自定义InformationWindow和NavigationMap的右键菜单
- TreeView的自定义右键菜单(半原创)
- Flex屏蔽并自定义鼠标右键菜单(转载)
- 屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能
- 使用javascript屏蔽web页面上特定按键事件和右键菜单
- JavaScript屏蔽指定区域内右键菜单