我正在学习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);
});
答案 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