Foros del Web » Programando para Internet » Javascript »

En un prototype funciona y en otro no

Estas en el tema de En un prototype funciona y en otro no en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/05/2004, 02:27
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 6 meses
Puntos: 5
En un prototype funciona y en otro no

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
__________________
Usuario registrado de Linux #288725
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:36.