jQuery悬停在不工作的实时作品上

时间:2013-01-16 13:15:24

标签: html jquery jquery-hover jquery-on

我遇到了

的问题
$('.myElement').on('hover',function({...});

尝试.on('hover'.hover()后,两者都无效,我尝试了.live('hover',).live('hover',)工作..然而,我正在使用jQuery 1.8.3,为什么会这样? 这是我正在使用的代码:

的jQuery

$('.myElement > a').live('hover',function(event) {
    //do stuff
}

HTML

<div class="myElement">
    <a href="#" />
</div>

有时候我想知道我是不是只是犯了愚蠢的错误,或者语言只是疯了......

4 个答案:

答案 0 :(得分:2)

当您在第二个参数中传递委托选择器时,

on()仅与live()类似。在您的情况下,主选择器将是您的.myElement元素被追加到的容器元素,代理将是.myElement,如下所示:

$('.parentOfMyElement').on('hover', '.myElement', function() {
    // do stuff...
});

答案 1 :(得分:0)

对于所有其他方法(除了.live()...这是其被弃用的原因之一).on()仅适用于已存在的元素。如果要将事件处理程序绑定到非现有元素,则需要使用更高级别元素的委派。

E.g。 '.myElement'是'.myContainer'的子元素,然后就可以了

$('.myContainer').on('hover', '.myElement', function(e) {
    ...
});

答案 2 :(得分:0)

试试这个。

$('body').on('hover', '.myElement', function...);

正文可以引用您需要观看事件的任何上下文或容器。

答案 3 :(得分:0)

试试这个

$('.myElement > a').hover(function(event) {
//do stuff
  alert('hover');
});

请参阅此Example

问候。