jQuery AJAX直播悬停事件?

时间:2010-07-22 23:01:22

标签: jquery ajax live

抱歉,我再次问这个,但我找不到解决办法。我知道那里有一些帖子,但对我来说似乎没什么用。我正在使用jquery load()方法加载网站的一部分。我将以下规则应用于其中的所有链接:

$('.file a').live('click', function(e) {
    alert('click event firde');
});

此点击事件的效果非常好。 但是我想在这些链接上也有一个悬停事件:

$('.file a').live('mouseover mouseout', function(event) {
    if (event.type == 'mouseover') {
    alert('why doesn't the hover event fire????');
 } else {
    // do something on mouseout
    }
});

我不知道为什么我的悬停事件不会开火?我只能将一个事件处理程序与live一起应用于特定的选择器???

任何想法?

3 个答案:

答案 0 :(得分:0)

根据jQuery文档,“从jQuery 1.4.1开始.live()可以接受多个空格分隔的事件...... ”。因此,只要您使用至少v.1.4.1,您应该没问题。我找到的唯一问题是这一行:

alert('why doesn't the hover event fire????');

应该是

alert("why doesn't the hover event fire????");

您在单引号绑定的字符串文字中有一个引号。这将导致声明及其后的任何声明失败。

具有讽刺意味的是,Stack Overflow的代码着色也在线上失败。 :)

答案 1 :(得分:0)

您希望单独绑定事件,如下所示:

$('.file a').live('mouseenter', function() {
  //hover code
}).live('mouseleave', function() {
  //stopped hovering code
});

我们正在使用mouseentermouseleave,因为这些是.hover()绑定的事件。

答案 2 :(得分:0)

你确定你至少使用jquery 1.4.1吗?任何更低的代码都无效。

相关问题