javascript – 上下文菜单的定位
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 上下文菜单的定位,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2071字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 上下文菜单的定位](/upload/InfoBanner/zyjiaocheng/798/da44f9ce456e4b73a97d3e92f4bf74c9.jpg)
我在javascript for table中开发了一个右键单击上下文菜单.上下文菜单的位置在每行表格的光标下方.表格的最后一行是在页面的末尾,现在右键单击该行的上下文菜单正在下降但它应该显示在光标上.任何帮助请
function ContextShow(event) {
event = event || window.event;
var m = getMousePosition(event);
var s = getScrollPosition(event);
var client_height = document.body.clientHeight;
var display_context = document.getElementById('context_menu');
if(replaceContext){
display_context.style.display = "block";
display_context.style.left = m.x + s.x + "px";
display_context.style.top = m.y + s.y + "px";
replaceContext = false;
}}
function getMousePosition (e){
e = e || window.event;
var position = {
'x' : e.clientX,
'y' : e.clientY
}
return position;}
function getScrollPosition(){
var x = 0;
var y = 0;
if( typeof( window.pageYOffset ) == 'number' ) {
x = window.pageXOffset;
y = window.pageYOffset;
} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
x = document.documentElement.scrollLeft;
y = document.documentElement.scrollTop;
} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
x = document.body.scrollLeft;
y = document.body.scrollTop;
}
var position = {
'x' : x,
'y' : y
}
return position;
}
这里,contextShow将使用getMousePosition(event)显示基于鼠标位置的右键单击上下文菜单;和getScrollPosition(事件);
解决方法:
我使用以下函数来设置上下文菜单位置,它适用于我.
function setContextMenuPostion(event, contextMenu) {
var mousePosition = {};
var menuPostion = {};
var menuDimension = {};
menuDimension.x = contextMenu.outerWidth();
menuDimension.y = contextMenu.outerHeight();
mousePosition.x = event.pageX;
mousePosition.y = event.pageY;
if (mousePosition.x + menuDimension.x > $(window).width() + $(window).scrollLeft()) {
menuPostion.x = mousePosition.x - menuDimension.x;
} else {
menuPostion.x = mousePosition.x;
}
if (mousePosition.y + menuDimension.y > $(window).height() + $(window).scrollTop()) {
menuPostion.y = mousePosition.y - menuDimension.y;
} else {
menuPostion.y = mousePosition.y;
}
return menuPostion;
}
内容总结
以上是互联网集市为您收集整理的javascript – 上下文菜单的定位全部内容,希望文章能够帮你解决javascript – 上下文菜单的定位所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。