rightmenu.js
2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
document.oncontextmenu = fckshowrightmenu;
document.onclick = fckhiddenrightmenu;
function fckhiddenrightmenu() {
try{
parent.jQuery("#rightMenu").css("visibility", "hidden");
parent.jQuery("#rightMenu").hide();
}catch(e){
}
}
function getAbsolutePosition(obj) {
position = new Object();
position.x = 0;
position.y = 0;
var tempobj = obj;
while (tempobj != null && tempobj != document.body) {
position.x += tempobj.offsetLeft + tempobj.clientLeft;
position.y += tempobj.offsetTop + tempobj.clientTop;
tempobj = tempobj.offsetParent
}
position.x += parent.document.body.scrollLeft;
// if(parent.document.getElementById("divWfBill")) position.y -=
// parent.document.getElementById("divWfBill").scrollTop;
return position;
}
function getIframeByElement(element){
var iframe;
jQuery("iframe",window.parent.document).each(function(){
if(element.ownerDocument === this.contentWindow.document) {
iframe = this;
}
return !iframe;
});
return iframe;
}
function fckshowrightmenu() {
try{
var _left = 0;
var _top = 0;
var event = getEvent();
//var position = getAbsolutePosition(parent.document.getElementById(frameid));
var position = getAbsolutePosition(getIframeByElement(document.body));
var rightedge = parent.document.body.clientWidth - event.clientX
- position.x;
var bottomedge = parent.document.body.clientHeight - event.clientY
- position.y;
if (rightedge < parent.rightMenu.offsetWidth) {
_left = parent.document.body.clientWidth - parent.rightMenu.offsetWidth;
} else {
_left = position.x + event.clientX;
}
/**
* if (bottomedge<parent.rightMenu.offsetHeight &&
* parent.document.getElementById(frameid).offsetHeight<=parent.document.body.clientHeight){
* _top = parent.document.body.clientHeight-parent.rightMenu.offsetHeight;
* }else{ _top = position.y+event.clientY; }
*/
_top = position.y + event.clientY;
parent.jQuery("#rightMenu").css("top", _top + "px");
parent.jQuery("#rightMenu").css("left", _left + "px");
parent.jQuery("#rightMenu").css("visibility", "visible");
parent.jQuery("#rightMenu").show();
/*
* parent.rightMenu.style.visibility = "visible"; if (!window.ActiveXObject) {
* parent.rightMenu.style.display = ""; }
*/
}catch(e){
}
return false
}
function getEvent() {
if (window.ActiveXObject) {
return window.event;
}
func = getEvent.caller;
while (func != null) {
var arg0 = func.arguments[0];
if (arg0) {
if ((arg0.constructor == Event || arg0.constructor == MouseEvent)
|| (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {
return arg0;
}
}
func = func.caller;
}
return null;
}