javascript - jQuery.mmenu 与其他 JS 冲突

标签 javascript jquery mmenu

我已将 Magento 电子商务网站合并到我们现有的网站中,一切正常,但一路上使用了各种不同的 jQuery 和原型(prototype)。

我想改进网站的移动导航,并发现了很棒的 jQuery.mmenu 插件。我已经将其集成到网站中,它看起来并且大部分工作都很好,但是网站的 magento 部分中的某些页面的 js 被菜单破坏了,因此菜单不再存在。

查看工作页面和非工作页面的代码,我发现它们使用的 js 存在一些差异,但我不知道如何纠正该问题:

工作页面:http://www.doble-shop.co.uk/shop/boots.html

非工作页面:http://www.doble-shop.co.uk/shop/richa-monza-waterproof-leather-boots-black.html (请注意,菜单不会显示在网站的移动设备尺寸上,并且 js 选项卡和下拉菜单快速访问一样被破坏,并且错误消息 Uncaught TypeError: Cannot read property 'blocker' of undefined 也显示在控制台)

当比较两个页面的代码并注意所使用的 js 时,以下内容包含在损坏的页面上,但不包含在工作页面上:

<script type="text/javascript" src="http://www.doble-shop.co.uk/shop/js/varien/product.js"></script>
<script type="text/javascript" src="http://www.doble-shop.co.uk/shop/js/varien/configurable.js"></script>
<script type="text/javascript" src="http://www.doble-shop.co.uk/shop/js/calendar/calendar.js"></script>
<script type="text/javascript" src="http://www.doble-shop.co.uk/shop/js/calendar/calendar-setup.js"></script>
<script type="text/javascript" src="http://www.doble-shop.co.uk/shop/js/infortis/jquery/plugins/jquery.cloudzoom.min.js"></script>
<script type="text/javascript" src="http://www.doble-shop.co.uk/shop/js/infortis/jquery/plugins/jquery.colorbox.min.js"></script>

最佳答案

许多 JavaScript 库使用 $ 作为函数或变量名,就像 jQuery 一样。就 jQuery 而言,$ 只是 jQuery 的别名,因此无需使用 $ 即可使用所有功能。如果您需要与 jQuery 一起使用另一个 JavaScript 库,请通过调用 $.noConflict()$ 的控制权返回给另一个库。 $ 的旧引用在 jQuery 初始化期间保存; noConflict() 只是恢复它们。

如果由于某种原因加载了两个版本的 jQuery(不推荐),从第二个版本调用 $.noConflict( true ); 将返回全局将 jQuery 变量的范围限定为第一个版本的变量。

<script>
var $ = jQuery.noConflict();
</script>

将此代码段放在页面中包含 jQuery 之后。 了解更多 here .

关于javascript - jQuery.mmenu 与其他 JS 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28412894/

相关文章:

javascript - 您使用 VS 2008 采取了哪些步骤来减少使用 Javascript 的开发时间?

javascript - mmenu:一次只展开一个子菜单(slidingSubmenus:false)

javascript - 为什么 Array(99999) 比 Array(100000) 慢

javascript - ReactJs 应用程序崩溃并出现错误 "Consider adding error boundaries to your tree"

javascript - 如何插入对移动设备禁用且仅适用于桌面的 JavaScript 代码?

jquery - 在哪里可以找到非常简单的 jQuery/AJAX Coldfusion 教程?

javascript - Bootstrap 模式不使用 vue js v2 双向绑定(bind)更新

javascript - Jquery 打字对滚动 bug 的影响

jquery - 与 Leaflet 和 mmenu 冲突

Jquery Mmenu 上一个按钮不起作用