JS右键菜单
来源:互联网 发布:telnet 端口连接失败 编辑:程序博客网 时间:2024/04/30 09:04
目前右键菜单在各个系统中还频率使用比较高的。最近系统中用到了,就写了一个。还是比较好使用的(主要是方便)。现在把一些源码发放。
在list循环每一列的时候加上这么一句话:<tr oncontextmenu="showMenu(id);></tr>.
然后在列表页面最下面加入
<!-- 右键菜单属性 -->
<div class="skin0" id="main_menu" onmouseover="highlightie(event, 'menuitems');" onmouseout="lowlightie(event, 'menuitems');">
<div class="menuitems" id="tQId" ><span onmouseover="showTypeSubMenu('dd_auditTypes');" onmouseout="hideTypeSubMenu('dd_auditTypes', false);"><img width="15px" height="15px" align="absmiddle" src="<%=request.getContextPath()%>/images/menu/new.gif" border="0"/> <bean:message key="common.create"/></span></div>
</div>
highlightie与lowlightie方法: -- 见附件
主要还是showMenu方法:仔细看下:
function showMenu(id, responsorId, hasAdminPermission) {
qId = id;
/**权限开始**/
if (hasAdminPermission != true && responsorId != <%=operator.getId()%>) {
$("uQId").style.display = "none";
$("hId").style.display = "none";
} else {
$("uQId").style.display = "";
$("hId").style.display = "";
}
if (hasAdminPermission != true) {
$("sQId").style.display = "none";
}
/**权限结束**/
var dbcw = document.body.clientWidth, dbch = document.body.clientHeight;
var dbsl = document.body.scrollLeft, dbst = document.body.scrollTop;
var event=getEvent();
var rightedge = dbcw-event.clientX;
var bottomedge = dbch-event.clientY;
main_menu.style.display = "";
if (rightedge < main_menu.offsetWidth) {
main_menu.style.left =dbsl + event.clientX - main_menu.offsetWidth;
} else {
main_menu.style.left =dbsl + event.clientX;
}
if (bottomedge < main_menu.offsetHeight) {
var t = dbst + event.clientY - main_menu.offsetHeight;
main_menu.style.top = t > 70 ? t : 70;
} else {
main_menu.style.top = dbst + event.clientY;
}
main_menu.style.visibility = "visible";
event.returnValue = false;
return false;
}
二级菜单移动方法:
function showTypeSubMenu(type) {
var ts, ss;
var cp = parent.frames['controlboard'];
var dd_type = $(type);
var dbcw = document.body.clientWidth, dbch = document.body.clientHeight;
var dbsl = document.body.scrollLeft, dbst = document.body.scrollTop;
var event=getEvent();
var mmx = parseInt(main_menu.style.left.substring(0, main_menu.style.left.indexOf('p')));
var mmy = parseInt(main_menu.style.top.substring(0, main_menu.style.top.indexOf('p')));
var rightedge = dbcw-mmx - main_menu.offsetWidth;
var bottomedge = dbch-mmy;
dd_type.style.display = "";
if (rightedge < dd_type.offsetWidth) {
dd_type.style.left =mmx - dd_type.offsetWidth + 1;
} else {
dd_type.style.left =mmx + main_menu.offsetWidth - 1;
}
dd_type.style.top = dbst + event.clientY - 20;
dd_type.style.visibility = "visible";
event.returnValue = false;
return false;
}
在list循环每一列的时候加上这么一句话:<tr oncontextmenu="showMenu(id);></tr>.
然后在列表页面最下面加入
<!-- 右键菜单属性 -->
<div class="skin0" id="main_menu" onmouseover="highlightie(event, 'menuitems');" onmouseout="lowlightie(event, 'menuitems');">
<div class="menuitems" id="tQId" ><span onmouseover="showTypeSubMenu('dd_auditTypes');" onmouseout="hideTypeSubMenu('dd_auditTypes', false);"><img width="15px" height="15px" align="absmiddle" src="<%=request.getContextPath()%>/images/menu/new.gif" border="0"/> <bean:message key="common.create"/></span></div>
</div>
highlightie与lowlightie方法: -- 见附件
主要还是showMenu方法:仔细看下:
function showMenu(id, responsorId, hasAdminPermission) {
qId = id;
/**权限开始**/
if (hasAdminPermission != true && responsorId != <%=operator.getId()%>) {
$("uQId").style.display = "none";
$("hId").style.display = "none";
} else {
$("uQId").style.display = "";
$("hId").style.display = "";
}
if (hasAdminPermission != true) {
$("sQId").style.display = "none";
}
/**权限结束**/
var dbcw = document.body.clientWidth, dbch = document.body.clientHeight;
var dbsl = document.body.scrollLeft, dbst = document.body.scrollTop;
var event=getEvent();
var rightedge = dbcw-event.clientX;
var bottomedge = dbch-event.clientY;
main_menu.style.display = "";
if (rightedge < main_menu.offsetWidth) {
main_menu.style.left =dbsl + event.clientX - main_menu.offsetWidth;
} else {
main_menu.style.left =dbsl + event.clientX;
}
if (bottomedge < main_menu.offsetHeight) {
var t = dbst + event.clientY - main_menu.offsetHeight;
main_menu.style.top = t > 70 ? t : 70;
} else {
main_menu.style.top = dbst + event.clientY;
}
main_menu.style.visibility = "visible";
event.returnValue = false;
return false;
}
二级菜单移动方法:
function showTypeSubMenu(type) {
var ts, ss;
var cp = parent.frames['controlboard'];
var dd_type = $(type);
var dbcw = document.body.clientWidth, dbch = document.body.clientHeight;
var dbsl = document.body.scrollLeft, dbst = document.body.scrollTop;
var event=getEvent();
var mmx = parseInt(main_menu.style.left.substring(0, main_menu.style.left.indexOf('p')));
var mmy = parseInt(main_menu.style.top.substring(0, main_menu.style.top.indexOf('p')));
var rightedge = dbcw-mmx - main_menu.offsetWidth;
var bottomedge = dbch-mmy;
dd_type.style.display = "";
if (rightedge < dd_type.offsetWidth) {
dd_type.style.left =mmx - dd_type.offsetWidth + 1;
} else {
dd_type.style.left =mmx + main_menu.offsetWidth - 1;
}
dd_type.style.top = dbst + event.clientY - 20;
dd_type.style.visibility = "visible";
event.returnValue = false;
return false;
}
- 右键菜单----js代码
- 多级右键菜单 JS
- JS屏蔽右键菜单
- JS右键菜单
- JS 右键菜单功能
- JS 右键菜单功能
- JS 屏蔽右键菜单
- js 右键菜单
- JS 屏蔽右键菜单
- js右键菜单
- JS右键菜单
- JS右键菜单
- JS 右键创建菜单
- JS 屏蔽右键菜单 .
- js右键菜单
- JS 右键菜单
- js实现右键菜单
- js 模拟右键菜单
- c#像素和英寸转换
- JS数组定义
- 游戏策划任务书
- 新的一天
- .Net 中的反射(序章) - Part.1
- JS右键菜单
- .Net 中的反射(查看基本类型信息) - Part.2
- CSS属性display和visibility
- .Net 中的反射(反射特性) - Part.3
- Hibernate查询出现的问题
- .Net 中的反射(动态创建类型实例) - Part.4
- Jsp两个小技巧
- .Net 自定义应用程序配置
- Windows常见窗口样式和控件风格