Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/04/2005, 18:44
kepawe
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 20 años, 4 meses
Puntos: 5
Hola kurlax

He estado mirando en google y he encontrado este enlace , pero no he conseguido eliminar el evento, de todos modo lo pongo para que le heches un vistazo.

He optado por una forma menos ortodoxa, pero parece funcionar, basicamente para "eliminar" el evento, asigno new Function("return false;") al evento.

Te pongo un ejemplo para que te hagas una idea y lo puedas estudiar, si tienes alguna duda, por aquí andaré.

Código:
<html>
<head>
<title></title>
</head>
<body>

<div id="bsg" style="border:1px solid black;">Evento click activado</div><br>
<span id="on" style="border:1px solid black;">Haz click aquí para activar el evento de la capa superior</span>
<br><br>Haz click fuera de las capas para desactivar el evento
<script language=JavaScript type=text/javascript>
<!--


function display(e,obj){
		alert(obj.id)
		//evitamos que el evento se propague
		if(e.target) e.stopPropagation()
		else { e.cancelBubble = true;
		}
				
				
}
function defuse_event(e){
		if(e.target) e.stopPropagation()
		else { e.cancelBubble = true;
		}
		document.getElementById("bsg").innerHTML = "Evento click desactivado";
		// "Eliminamos" el evento
		document.getElementById("bsg").onclick = new Function("return false;");
}
function activate(e){
		if(e.target) e.stopPropagation()
		else { e.cancelBubble = true;
		}
		document.getElementById("bsg").innerHTML = "Evento click activado";
		
		if(window.Event){
		document.getElementById("bsg").onclick = function(event){display(event,this)}
		}
		else{
		document.getElementById("bsg").onclick = function(){display(event,this)}
		}
}
	
if(window.Event){
  document.getElementById("bsg").onclick = function(event){display(event,this)}
  document.getElementById("on").onclick = function(event){activate(event)}
  document.onclick = function(event){defuse_event(event)}
}
else{
  document.getElementById("bsg").onclick = function(){display(event,this)}
  document.getElementById("on").onclick = function(){activate(event)}
  document.onclick = function(){defuse_event(event)}
}
//-->
</script>
</body>
</html>
Espero que esto te ayude a tener un día mejor que el de ayer.

Un saludo