新的jQuery库与旧脚本不兼容

时间:2019-04-20 13:43:37

标签: jquery compatibility

嗨,我有这段代码:

$('li.dropdown-toggle').on('hover', function () {
    $(this).find(".submenu").slideToggle(200);
});

我已经注意到它在jQuery 1.7.2库中运行良好:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

但不低于3.1.0

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

我可以在上面的代码中进行任何修改以使其在3.1.0下正常工作吗?我真的不想更改库,以防万一其他脚本停止工作。

谢谢

1 个答案:

答案 0 :(得分:1)

从jQuery版本1.8开始不推荐使用hover event with on()方法,并且从jQuery版本1.9开始将其完全删除。

因此,现在您可以根据需要使用hover()方法来处理该事件,或者将mouseentermouseleave事件与on()方法一起使用。

$('li.dropdown-toggle').hover(function () {
    $(this).find(".submenu").slideToggle(200);
});


// or with on 

$('li.dropdown-toggle').on('mouseenter mouseleave', function () {
    $(this).find(".submenu").slideToggle(200);
});