2011-12-27 69 views
2

所以我有一个看起来像这样JS版本的jQuery 1.7+

$(".something").live({ 
    mouseover:function(e){ 
    //do stuff 
    }, 
    mouseout:function(e){ 
    //do or undo other stuff 
    } 
}); 

码但由于这.live方法在jQuery1.7 +过时,我不得不做一点修改的。 首先,它应该看起来像:

$(document).on("mouseover",".something",function(e){ 
    //do stuff here 
}); 

怎么样mouseout啄?任何快速的方式来合并这两个或我会被迫为他们分别编码? 谢谢。

+0

请记住,您不会_ HAVE_改变它。他们在这一点上没有删除任何东西。 – BNL 2011-12-27 17:11:11

+0

我不得不问这个问题,因为当我升级到1.7+时出现了问题。但是当然,这是我认为的原因。无法仔细查看最详细的细节。但随着我得到的答案,问题得到解决。感谢这个警告(如果是svn仓库应该派上用场)。 :) – threepoint1416 2011-12-27 17:35:09

回答

4

您可以将地图:

$(document).on(
    { 
     mouseover : function(){ ... } 
     , mouseout : function(){ ... } 
    } 
    , '.something' 
); 
+0

我会很感激去除downvote因为我的答案**是**正确的。 – Neal 2011-12-27 17:08:59

+0

我不是那个推倒你的人。我刚刚评论它是什么时候__not__正确:) – 2011-12-27 17:10:38

+0

okey dokey^_ ^,只是检查('+ 1给你btw) – Neal 2011-12-27 17:10:59

1
$(document).on({ 
    mouseover:function(e){ 
    //do stuff 
    }, 
    mouseout:function(e){ 
    //do or undo other stuff 
    } 
}, ".something"); 

基于:

。对(事件地图[,选择] [数据])

From the doc

+0

.live在jQuery 1.7中被弃用。 – 2011-12-27 17:07:05

+0

@DarinDimitrov对不起,我意外地输入了那个。固定^ _^ – Neal 2011-12-27 17:07:37

+0

@cwolves对不起,我不小心键入了'生活' – Neal 2011-12-27 17:07:51