Foros del Web » Programando para Internet » Javascript »

removeEventListener() no deja de ejeucutar la función.

Estas en el tema de removeEventListener() no deja de ejeucutar la función. en el foro de Javascript en Foros del Web. Es simple, que sólo se muestren la coordenada x del mouse cuando se este arrastrando (mousedown y mousemove) el cursor. Cuando se deja de presionar ...
  #1 (permalink)  
Antiguo 09/07/2010, 15:56
 
Fecha de Ingreso: diciembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
removeEventListener() no deja de ejeucutar la función.

Es simple, que sólo se muestren la coordenada x del mouse cuando se este arrastrando (mousedown y mousemove) el cursor. Cuando se deja de presionar el botón izquierdo debería dejar de mostrar la coordenada, pero con mi código lo sigue mostrando. Utilizo removeEventListener para quitarle la función que muestra la coordenada, pero nada, sigue apareciendo. ¿Qué hago?

<html>
<head>
<title>mousedown mouseup</title>
<script>
window.addEventListener('load',eventos,false);

function eventos(e)
{
var ob=document.getElementById('button');
ob.addEventListener('mousedown',presion,false);
}

function presion(e)
{
var ob=document.getElementById('etiqueta');
var bt=document.getElementById('button');
bt.addEventListener('mousemove',mostrar,false);
bt.addEventListener('mouseup',soltar,false);
}

function mostrar(e)
{
var ob=document.getElementById('etiqueta');
ob.firstChild.nodeValue=e.clientX;
}

function soltar(e)
{
var ob=document.getElementById('etiqueta');
ob.firstChild.nodeValue="Coordenada";
document.removeEventListener('mousemove',mostrar,f alse);
}
</script>
</head>

<body>
<input type="button" value="Botón" id="button">
<h1 id="etiqueta">Coordenada</h1>
</body>
</html>
  #2 (permalink)  
Antiguo 09/07/2010, 16:13
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: removeEventListener() no deja de ejeucutar la función.

Código:
document.removeEventListener('mousemove',mostrar,false);
aunque la sintaxis está bien, lo que tienes mal es que en dicho elemento u objeto no esta registrado tal evento. es decir, para remover un evento tienes que indicar el mismo elemento donde se registró. en tu caso, el elemento con id "button".
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: Ninguno
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 04:33.