2010-04-28 11 views
8

Mi desvinculación no funciona.jQuery unbind ('hover') no funciona

$("img.hoverable").hover(ChangeImage, ChangeBack); 
$("a img.hoverable").unbind('hover'); 

El HTML puede ser así

<img class="hoverable" src="something.jpg"/> 
<a href="#"><img class="hoverable" src="something.jpg"/></a> 

Cuando se ciernen sobre el segundo HTML, ChangeImage está siendo despedido.

No estoy seguro si lo estoy usando correctamente, ¿alguien puede aconsejar?

Respuesta

15

Trate

$("img.hoverable").unbind('mouseenter mouseleave'); 

El método .hover() se une manipuladores tanto para MouseEnter y eventos MouseLeave. Por lo tanto, para desvincularlo, deberá desvincular mouseenter y mouseleave.

+0

Genial. Gracias, @rahul. –

+0

Esto no funciona cuando lo intento –

0

Prueba esto:

$("img.hoverable").hover(ChangeImage, ChangeBack); 
$("img.hoverable").unbind('hover'); 
5

hover es un evento de seudo mouseenter y mouseleave. Entonces tienes que desvincularlos.
O si no está conectado ningún otro controlador, llame al .unbind() sin parámetros (elimina cualquier controlador).

$("a img.hoverable").unbind(); 
0

.hover es un contenedor para mouseenter y mouseleave.

Intenta desvincular llamadas de esas.