我在javascript中爲桌面開發了一個右鍵單擊上下文菜單。上下文菜單的位置在每一行表格的遊標下方。表格的最後一行在頁面的結尾處,現在上右鍵單擊該行的上下文菜單下來,但它應該顯示了cursor.Any幫助,請上下文菜單的定位
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(event);
你能粘貼一些代碼嗎? – 2011-03-29 08:57:46