Esto funciona perfectamente:
Código:
<script>
function x() {
}
x.prototype.load = function() {
var frameWork = document.getElementById('area');
//alert(frameWork);
// Creamos el menu contextual
var menu = document.createElement("div");
menu.setAttribute('id','menu');
menu.unselectable = "on";
menu.style.visibility = "hidden";
menu.style.padding = "2px";
menu.style.backgroundColor = "#f2f2f2";
menu.style.border = "1px solid #c0c0c0";
menu.style.position = "absolute";
frameWork.appendChild(menu);
document.oncontextmenu = x.ss;
}
x.prototype.ss = function(e) {
var x, y;
if(document.all) {
x = event.x + document.body.scrollLeft;
y = event.y + document.body.scrollTop;
} else {
x = e.screenX;
y = e.screenY - 140;
}
el = document.getElementById('menu');
el.style.width = "100px";
el.style.height = "100px";
el.style.MozOpacity = 1;
x -= 2; y -= 2;
el.style.left = x + "px";
el.style.top = y + "px";
el.style.visibility = "visible";
return false;
}
x = new x();
x.load();
</script>
Pero esto otro no:
Código:
EDITOR.prototype.contextMenu = function (e) {
var el, x, y;
el = document.getElementById('menu');
el.style.width = "100px";
el.style.height = "100px";
el.style.MozOpacity = 1;
if(!document.all) {
x = e.screenX; y = e.screenY - 140;
} else {
x = event.x + document.body.scrollLeft;
y = event.y + document.body.scrollTop;
}
x -= 2; y -= 2;
el.style.left = x + "px";
el.style.top = y + "px";
el.style.visibility = "visible";
if(!document.all) {
e.preventDefault();
}
return false;
}
Alguien sabe por que? lo que sucede es que en el primero coge bien el objeto event pero en el segundo no lo coge