0

朝。

動的に読み込まれる画像にホバーイベントを追加しようとしています。さらに、ホバーしている要素を追加して、ホバー関数内から切り離す必要があります。

イベントは、最初に読み込まれたコンテンツに対して初めて機能しますが、その後は発生しません。

ここにmyjQueryがあります:

$(document).ajaxComplete(function(){
    $('#rightImageContent img').mouseover(function() {
        $('a.spy_glass').show().appendTo('#rightImageContent');
    });
    $('#rightImageContent img').mouseout(function() {
        $('a.spy_glass').hide().detach();
    });
});

すべてのコードはここで入手できますが、さらに html または jquery が必要な場合はお知らせください。

4

4 に答える 4

1

mouseovermouseout出し入れしてみてくださいajaxComplete

適切な画像は$('#rightImageContent img')、ajax によって読み込まれるかどうかに関係なく常に表示されます

  $('#rightImageContent img').mouseover(function() {
        $('a.spy_glass').show().appendTo('#rightImageContent');
    });
    $('#rightImageContent img').mouseout(function() {
        $('a.spy_glass').hide().detach();
    });
于 2012-07-25T08:53:21.783 に答える
1

"#rightImageContent常に存在すると仮定します。

$(function() {
    $('a.spy_glass').appendTo('#rightImageContent').hide();
    $("#rightImageContent").on({
        mouseenter: function() {
            $('a.spy_glass').show();
        },
        mouseleave: function() {
            $('a.spy_glass').hide();
        }
    }, "img");
});

「ホバー」は ではないので、イベントも変更しましたmouseover mouseoutが、mouseenter mouseleave

dom からも削除しているため、削除するとセレクターはそれを見つけることができません。私のように表示を切り替えることもできます。

于 2012-07-25T08:56:16.383 に答える
0

.on()を使用する

  $(document).on({mouseenter:function(){
                                        $('a.spy_glass').show().appendTo('#rightImageContent');
                                        },
                  mouseleave:function() {
                                        $('a.spy_glass').hide().detach();
                                        }},'#rightImageContent img');
于 2012-07-25T08:51:57.290 に答える
0

OKこれでうまくいきました、仕事をします:

$(function() {
        $("#rightImageContent").on({
            mouseenter: function() {
                $('a#spyGlass').show().appendTo('#rightImageContent');
            },
            mouseleave: function() {
                $('a#spyGlass').hide().appendTo('body');
            }
        });
    });
于 2012-07-25T10:47:46.037 に答える