我怎样才能找出2个jquery脚本之间究竟存在什么冲突?

时间:2013-06-24 18:51:29

标签: javascript jquery conflict shopify jquery-isotope

我正在Shopify平台上构建一个站点,并在一个页面上发生javascript冲突。我不知道如何才能找出究竟是什么导致冲突 - 任何有关如何找到这一点的信息都将不胜感激!

这是要点:

This是我用作测试页面的页面。除非我对scripts.js the isotope script上的{{3}}过滤器上的点击功能进行静音,否则无法执行任何操作。

这是来自问题的html文件:

  <!-- conflict!
  << path to 'scripts.js' >>
  -->

  <!-- Begin Isotope -->
  << path to 'jquery.isotope.min.js' >>

  <script>
    $(window).load(function(){

      var $container = $('#isocontainer'),
          $filterLinks = $('#isofilters a');

      $container.isotope({
        itemSelector: '.item',
        filter: '*'
      });

      $filterLinks.click(function(){
        var $this = $(this);

        // don't proceed if already selected
        if ( $this.hasClass('selected') ) {
          return;
        }

        $filterLinks.filter('.selected').removeClass('selected');
        $this.addClass('selected');

        // get selector from data-filter attribute
        selector = $this.data('filter');

        $container.isotope({
          filter: selector
        });
      });
    });
  </script>
  <!-- End Isotope --> 

我对如何找出具体冲突的任何暗示感到高兴。如果我需要提供更多/不同的信息,请告诉我。

谢谢, 亚历

2 个答案:

答案 0 :(得分:0)

您是先加载JQuery吗?

我的猜测是在Scripts.Js文件中使用$运算符时出现问题。是否有理由使用Jquery(窗口)....超过$(窗口)?与Jquery(document).ready(.. over $(document).ready(....?

相同

您应该只能使用$而不是JQuery。

答案 1 :(得分:0)

我完全理解你的问题。我认为你的jquery脚本与其他库有冲突。如果这是问题,请检查下面的脚本

var hack = $.noConflict();

在使用$的脚本的每个部分中使用hack而不是$。

问候