$('.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一起应用于特定的选择器???
任何想法?
答案 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
});
我们正在使用mouseenter
和mouseleave
,因为这些是.hover()
绑定的事件。
答案 2 :(得分:0)
你确定你至少使用jquery 1.4.1吗?任何更低的代码都无效。