Ver Mensaje Individual
  #10 (permalink)  
Antiguo 15/06/2012, 09:02
DoHITB
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: saber si el mouse está fuera del div

Cita:
Iniciado por furoya Ver Mensaje
Eso estaba resuelto por algún lado del Foro.
Lástima que no pusiste un ejemplo para ver qué particularidad tiene tu código, que no se arregla.
Y estoy de acuerdo: poner un yáicueri para semejante güevada es un despropósito. En todo caso te lo bajas y sacas de adentro la parte que te sirve para meterla en tu página. Así le quitas también los "$".

Miré el ejemplo que dejaste, emprear. No es mouseover. ¿Hay que abrir el código?.
Gracias a todos por las respuestas. Desde luego me niego a usar jquery para esto... si fuera algo más complejo (un evento drag&drop, por ejemplo) me plantearía usar alguna librería (soy un tipo de programador que me gusta usar todo hecho por mi, sin usar demasiadas cosas de terceros...).

Sobre las particularidades del código... comento:

Tengo una serie de div colocados a modo de celdas. Cada "celda" (div) tiene su id, así como su evento onClick, con una función que recibe ese índice.

Así, la función crea unas coordenadas a partir del dato pasado, y modifica el div en cuestión (el que me da problemas) para que se coloque justo encima del div pulsado, y así emular que ha cambiado el contenido (cambiar el contenido directamente es muy complicado ya que cada div contiene cierta información que varía cada vez, y guardar el innerHTML del div y ir pasándolo de una función a otra, o en una variable supone en este caso una vulnerabilidad bastante grave de la seguridad de la página )

El div nuevo (con id="dummy") contiene una estructura similar a esta

Código:
function div(index){
        f = Math.floor(index/7);
	c = index%7;

	document.getElementById('dummy').style.top = (484+(f*158)+(f*37));
	document.getElementById('dummy').style.left = (594+(c*115)+(c*6));
	document.getElementById('dummy').style.backgroundColor = '#EFEFEF';
	
	
	str = '<div style="background-color: #EFEFEF" id=con>' + 
			'<div class=txtChangeSpecial style="top: 30px;left: 18px;"><a href="#" style="color: #000000;">TXT1</a></div>' +
			'<div class=txtChangeSpecial style="top: 70px;left: 29px;" onClick="txt(2);">TXT2</div>' +
			'<div class=txtChangeSpecial style="top: 110px;left: 17px;" onClick="txt(1);" ">TXT3r</div>' +
		  '</div>';
	document.getElementById('dummy').innerHTML = str;
La función txt cambia el innerHTML del div con id=con.
Ahora vuelvo al principio. Este div está dentro del body, y dentro de un div general, por lo que ni en el body ni en el div general puedo manejar el onClick, ya que el mismo click que crea el div lo destruye. El evento de salida del mouse tampoco, ya que hay div's internos que al acercarse eliminan el div. Si quito los div internos, siguen quedando los links, y si en los div internos pongo una función que "reconstruya" el div "dummy", al hacer click no funciona la función txt...

Lo que se me ocurre también es crear un div grande que sustituya al div general, y que éste tenga el evento onClick, aunque no se si daría resultado... me da que haría lo mismo que con el click en el body...

El ejemplo que hay por este tema me serviría, pero en ese ejemplo los div están "separados" del div general (no son hijos)... en mi caso no es así, por eso no me funciona...

Gracias de nuevo a todos y saludos