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”的简写。它为这两个事件附加了一个事件处理程序,处理程序必须检查 event.type 以确定事件是 mouseenter 还是 mouseleave。不要将“悬停”伪事件名称与接受一两个函数的 .hover() 方法混淆。 http://api.jquery.com/on

于 2012-08-15T04:54:51.523 回答