8

バインド解除が機能しません。

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

HTMLは次のようになります

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

2番目のHTMLにカーソルを合わせると、ChangeImageは引き続き起動されます。

正しく使っているかわかりませんが、誰かアドバイスしてもらえますか?

4

4 に答える 4

15

試す

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

.hover()メソッドは、mouseenterイベントとmouseleaveイベントの両方のハンドラーをバインドします。したがって、バインドを解除するには、mouseenterとmouseleaveのバインドを解除する必要があります。

于 2010-04-28T07:42:30.470 に答える
5

hovermouseenterおよびの疑似イベントですmouseleave。したがって、これらのバインドを解除する必要があります。
または、他のハンドラーが接続されていない場合は、パラメーターなしで呼び出し.unbind()ます(ハンドラーを削除します)。

$("a img.hoverable").unbind();
于 2010-04-28T07:42:20.930 に答える
0

これを試して:

$("img.hoverable").hover(ChangeImage, ChangeBack);
$("img.hoverable").unbind('hover');
于 2010-04-28T07:41:11.863 に答える
0

.hoverは、mouseenterとmouseleaveのラッパーです。

それらに対してunbindを呼び出してみてください。

于 2010-04-28T07:42:33.377 に答える