实现自定义右键菜单
来源:互联网 发布:创维高清网络机顶盒 编辑:程序博客网 时间:2024/05/21 17:18
<!DOCTYPE html>
<html>
<head>
<title>JS实现自定义右键菜单</title>
<meta http-equiv=
"content-type"
content=
"text/html; charset=gbk"
>
<script src=
"http://api.51ditu.com/js/ajax.js"
></script>
<style type=
"text/css"
>
#container {
text-align : center;
width : 500px;
height : 500px;
border : 1px solid blue;
margin : 0 auto;
}
.skin {
width : 100px;
border : 1px solid gray;
padding : 2px;
visibility : hidden;
position : absolute;
}
div.menuitems {
margin : 1px 0;
}
div.menuitems a {
text-decoration : none;
}
div.menuitems:hover {
background-color :
#c0c0c0;
}
</style>
<script>
window.onload =
function
() {
var
container = document.getElementById(
'container'
);
var
menu = document.getElementById(
'menu'
);
/*显示菜单*/
function
showMenu() {
var
evt = window.event || arguments[0];
/*获取当前鼠标右键按下后的位置,据此定义菜单显示的位置*/
var
rightedge = container.clientWidth-evt.clientX;
var
bottomedge = container.clientHeight-evt.clientY;
/*如果从鼠标位置到容器右边的空间小于菜单的宽度,就定位菜单的左坐标(Left)为当前鼠标位置向左一个菜单宽度*/
if
(rightedge < menu.offsetWidth)
menu.style.left = container.scrollLeft + evt.clientX - menu.offsetWidth +
"px"
;
else
/*否则,就定位菜单的左坐标为当前鼠标位置*/
menu.style.left = container.scrollLeft + evt.clientX +
"px"
;
/*如果从鼠标位置到容器下边的空间小于菜单的高度,就定位菜单的上坐标(Top)为当前鼠标位置向上一个菜单高度*/
if
(bottomedge < menu.offsetHeight)
menu.style.top = container.scrollTop + evt.clientY - menu.offsetHeight +
"px"
;
else
/*否则,就定位菜单的上坐标为当前鼠标位置*/
menu.style.top = container.scrollTop + evt.clientY +
"px"
;
/*设置菜单可见*/
menu.style.visibility =
"visible"
;
LTEvent.addListener(menu,
"contextmenu"
,LTEvent.cancelBubble);
}
/*隐藏菜单*/
function
hideMenu() {
menu.style.visibility =
'hidden'
;
}
LTEvent.addListener(container,
"contextmenu"
,LTEvent.cancelBubble);
LTEvent.addListener(container,
"contextmenu"
,showMenu);
LTEvent.addListener(document,
"click"
,hideMenu);
}
</script>
</head>
<body>
0 0
- 实现自定义右键菜单
- JS实现自定义右键菜单
- JS实现自定义右键菜单
- JS实现自定义右键菜单
- Javascript实现右键自定义菜单
- js实现自定义右键菜单
- Qml实现自定义右键菜单
- 如何实现网页自定义右键菜单?
- javascript+css实现自定义网页右键菜单
- Flex自定义右键菜单具体实现
- 用控件实现自定义右键菜单
- 注册表实现右键自定义多级菜单
- COM组件实现右键自定义多级菜单
- 对div实现右键弹出自定义菜单
- 自定义网页右键菜单
- 自定义右键菜单
- 自定义网页右键菜单
- Flash8自定义右键菜单
- 常用类
- 约瑟夫问题 java解法(双向链表解决)
- android 6.0 日历新建活动错误
- H5之DrawImage使用
- 如何部署Android开发环境以及解决部署中遇到的问题
- 实现自定义右键菜单
- linux 进程地址空间
- 数源思维完成目标设定
- 我的WCF之旅(6):在Winform Application中调用Duplex Service出现TimeoutException的原因和解决方案
- redis 副本集(集群)
- JNDI学习总结(一)——JNDI数据源的配置
- Quartz jobStore
- 设计模式--23种模式精华(五)
- Python编程中super关键字的用法