如何使这个代码在jQuery 1.4.x中工作?

时间:2013-04-12 17:52:42

标签: javascript jquery

jQuery 1.4.x中不支持on()方法。有人能告诉我如何解决这个问题,以便兼容吗?

$(document).on({
  mouseenter: MyObj.mouseenter,
  mouseleave: MyObj.mouseleave
}, '.class');

3 个答案:

答案 0 :(得分:3)

使用委托方法。

$(document).delegate('.class',{
  mouseenter: MyObj.mouseenter,
  mouseleave: MyObj.mouseleave
});

注意:需要jQuery 1.4.3+

答案 1 :(得分:2)

您应该使用live而不是on来使其与旧版本的jQuery兼容。 live始终适用于加载页面后将创建的元素。

jQuery 1.7弃用live()方法,1.9已删除它。它已被on取代。

但是,如果可以的话,只需升级你的jQuery就更明智了。

请勿使用bind,因为它提供的功能与live不同。

答案 2 :(得分:0)

您可以将各种侦听器直接应用于jQuery对象,如下所示:

$(".class").mouseover(function() {

}).mouseout(function() {

});

......或者这个:

$(".class").mouseenter(function() {

}).mouseleave(function() {

});

此处提供的示例:http://api.jquery.com/mouseenter/