0

jQuery 1.4.x 不支持 on() 方法。有人可以告诉我如何解决此问题以使其兼容吗?

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

3 回答 3

3

使用委托方法。

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

注意:需要 jQuery 1.4.3+

于 2013-04-12T17:57:54.537 回答
2

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

jQuery 1.7 弃用了 live() 方法,并且 1.9 已将其删除。它已被on.

但是,如果可以,最好只升级 jQuery。

不要使用bind,因为它提供的功能与live.

于 2013-04-12T17:54:48.767 回答
0

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

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

}).mouseout(function() {

});

... 或这个:

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

}).mouseleave(function() {

});

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

于 2013-04-12T17:58:05.723 回答