$(function() {
$(".imgHover").hover(
function() {
$(this).children("img").fadeTo(200, 0.85).end().children(".hover").show();
},
function() {
$(this).children("img").fadeTo(200, 1).end().children(".hover").hide();
});
})(jQuery);
ここに問題があります。上記を次のように変更します。
$(function() {
$(".imgHover")
.live('mouseenter', function() {
$(this).children("img").fadeTo(200, 0.85).end().children(".hover").show();
})
.live('mouseleave', function() {
$(this).children("img").fadeTo(200, 1).end().children(".hover").hide();
});
})(jQuery);
スタッフグループを変更すると、機能のバインドが解除されます。を使用.live()
すると、イベントがバインドされたままになります。理想的には使用します.delegate()
が、それはjQueryの新しいバージョンでのみ使用可能です
詳しくは:
- 練る
- 住む
- 委任
編集
.delegate()
1.4.2に実際に存在することに気づきました。後で入ってくると思いました。イベントリスナーを親要素(他のスクリプトによって変更されない要素)にアタッチできるため、から.live()
に変更することをお勧めします。.delegate()
構文の変更については、ドキュメント(上記)へのリンクを確認してください