jQuery hover live()?

时间:2011-07-22 13:03:53

标签: jquery hover live

我正在学习jQuery,我不知道如何“通知”脚本发生了什么事。

例如,当我悬停.container时,它会为其添加“灰色”类。但是当我想用新创建的“灰色”div做任何事情时,没有任何作用。我听说过live()函数,但我不确定这是好方法吗?

   jQuery('.container').hover(function() {
        jQuery(this).animate({opacity: '0.5'},1000);
        jQuery(this).addClass('grey');
    });

    jQuery('.grey').hover(function() {
        jQuery(this).animate({opacity: '0'},100);
    });

直播:http://jsfiddle.net/n5kpM/

2 个答案:

答案 0 :(得分:2)

live被称为:

$(...).live('mouseenter', function() { ... });

答案 1 :(得分:2)

来自jQuery 1.7+ .live()是 deprecated ,而.delegate()是 superseded 由.on()方法

使用.on().off()代替.live()和.die()。使用.on()代替.delegate()。

转换旧代码非常简单as explained here


live正是您想要的。由于.grey元素在您调用hover时不存在,因此它将无法按照您的方式运行。使用live将允许您在元素存在之前应用处理程序。

但有一点需要注意,您不能将live直接用于hover。你需要分别做2个事件。 jQuery live hover