0

次のコードがあります。

$(document).on('hover', '.tic_cont:not(.disabled_ticket)',function () {
        $(this).stop().find(".tic_icon").animate({ top: '-=16px' }, 250);
        $(this).stop().find(".ti_shd").animate({ opacity: '0.25' }, 250);
    }, function () {
        $(this).stop().find(".tic_icon").animate({ top: '+=16px' }, 250);
        $(this).stop().find(".ti_shd").animate({ opacity: '1' }, 250);
    });

マウスオーバーdivすると下に移動し、マウスを離すと上に移動します。divが常にダウンするという問題。どこに問題がありますか?
ありがとう。
更新

デバッガーで、最初の関数が呼び出されないことがわかりました。

4

1 に答える 1

3
$(document).on('mouseenter', '.tic_cont:not(.disabled_ticket)',function () {
    $(this).stop().find(".tic_icon").animate({ top: '-=16px' }, 250);
    $(this).stop().find(".ti_shd").animate({ opacity: '0.25' }, 250);
}.on('mouseleave', '.tic_cont:not(.disabled_ticket)', function () {
    $(this).stop().find(".tic_icon").animate({ top: '+=16px' }, 250);
    $(this).stop().find(".ti_shd").animate({ opacity: '1' }, 250);
});

jQuery 1.8 で非推奨: 「hover」という名前は、文字列「mouseenter mouseleave」の短縮形として使用されます。これら 2 つのイベントに対して 1 つのイベント ハンドラーをアタッチし、ハンドラーは event.type を調べて、イベントが mouseenter または mouseleave であるかどうかを判断する必要があります。"hover" 疑似イベント名を、1 つまたは 2 つの関数を受け入れる .hover() メソッドと混同しないでください。 http://api.jquery.com/on

于 2012-08-15T04:54:51.523 に答える