【问题标题】:Loading a plugin with a different version of jQuery使用不同版本的 jQuery 加载插件
【发布时间】:2014-08-15 15:05:47
【问题描述】:

我正在尝试在 CS Cart 站点上运行一个插件,它只允许 jQuery 1.7+ http://owlgraphic.com/owlcarousel/ 是我正在使用的插件。

我在另一张票上发现了一段 sn-p 代码,它允许使用 noConflict 方法运行两个版本的 jQuery。所有原始代码都运行良好。但是这个插件没有运行,它一直在这一行抛出错误 Uncaught TypeError: undefined is not a function$j("#wrapper").owlCarousel({ 但是,如果我在加载函数的文档中添加以下 lin,它似乎运行,然后在到达 .owlCarousel 时中断功能。 - $j('body').css('background-color', 'red');

这是我的代码的细分:

//在页面顶部加载n

{script src="lib/js/jquery/jquery.min.js"}
{script src="lib/js/jquery/jquery.min.1.8.js"}

<script>var $j = jQuery.noConflict(true);</script>
    <script type='text/javascript'>
      $(document).ready(function(){
       console.log($().jquery); // This prints v1.5.2
       console.log($j().jquery); // This prints v1.8
      });
   </script>

//加载在页面下方,在大部分现有JS之后

<script type='text/javascript'>
$j(document).ready(function(){
   $j('body').css('background-color', 'red');

$j("#wrapper").owlCarousel({

        //autoPlay: 3000, //Set AutoPlay to 3 seconds

        items : 2,
       itemsCustom : [
          [200, 2],

        ],
        navigation : true
    });

});

</script>

奇怪的是,如果我用新版本替换旧版本的 jQuery,它可以工作,但会破坏所有依赖旧版本的旧代码。

我希望我已经提供了足够的信息。

提前致谢。

【问题讨论】:

    标签: javascript jquery cs-cart


    【解决方案1】:

    jQuery 插件通常会挂接到附加的当前 jquery 版本,首先加载旧的 jquery 版本,然后加载将使用它的插件,然后加载新的。

    我相信“plugin1”会附加到旧版本的jquery中。

    {script src="lib/js/jquery/jquery.min.js"}
    <script>var j1 = jQuery.noConflict(true);</script>
    {script src="lib/js/jquery/plugin1.js"}
    
    {script src="lib/js/jquery/jquery.min.1.8.js"}
    <script>var j2 = jQuery.noConflict(true);</script>
    {script src="lib/js/jquery/plugin2.js"}
    {script src="lib/js/jquery/plugin3.js"}
    

    对不起我的英语。

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      相关资源
      最近更新 更多