首页 > 解决方案 > jquery库之间的兼容性问题

问题描述

我在我的代码中使用了一些 jquery:

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

当我链接到 1.7.2 jquery 库(https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js)时,它工作正常。

不幸的是,该网站需要 3.1.0 库(https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js)。

如何在不交换库的情况下修改代码以确保其正常工作?

以防万一,这里是小提琴- 它在这个小提琴中工作正常,但是当我将库更改为 3+ 时它停止工作

谢谢

标签: jquery

解决方案


http://api.jquery.com/on/#additional-notes

在 jQuery 1.8 中已弃用,在 1.9 中删除:名称“hover”用作字符串“mouseenter mouseleave”的简写。它为这两个事件附加了一个事件处理程序,处理程序必须检查 event.type 以确定事件是 mouseenter 还是 mouseleave。

只需替换.on('hover', function() { ... }).on('mouseenter mouseleave', function() {...}).


推荐阅读