繁体   English   中英

使用jQuery.getScript时无法初始化插件(同位素)

[英]Can't initialize plugin (isotope) when using jQuery.getScript

所以我创建了一个在客户端页面上加载HTML的应用程序,我需要通过javascript加载一些脚本并对HTML进行操作。 特别是我需要使用JS来获取同位素javascript文件,然后在我们刚创建的HTML上初始化它。

另请注意,我在noConflict模式下运行jQuery,因此脚本不会在客户端站点上导致错误。 在测试中,如果我在HTML中对<script>标记进行硬编码,我的代码工作正常,但这在最终产品上是不可行的。 我需要通过JS获取外部脚本,因为它是动态的。 问题是我收到以下错误:

“未捕获的TypeError:undefined不是函数”

这是一个小提琴

    <script src="http://code.jquery.com/jquery-1.11.2.min.js" type="text/javascript"></script>

    <style type="text/css">
      div.item {width:200px; height:200px; background:#039; margin:10px;}
    </style>

    <div id="container">
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
      <div class="item"></div>
    </div>


    <script type="text/javascript">
    $( document ).ready(function() {
      ch_jquery = jQuery.noConflict(true);
        ch_jquery.getScript('http://isotope.metafizzy.co/isotope.pkgd.min.js', function(){
          $('#container').isotope();    
        });
    });
    </script>

任何建议赞赏!

对于初学者,您没有在jsfiddle示例中包含jQuery库。 然后你应该在$(document).ready()函数之外定义jQuery.noConflict 这是一个有效的例子

var ch_jquery = jQuery.noConflict(true);
$( document ).ready(function() {
        ch_jquery.getScript('http://isotope.metafizzy.co/isotope.pkgd.min.js', function(){
      $('#container').isotope();    
    });
});

编辑另一个noconflict的例子就是这个

var ch_jquery = jQuery.noConflict();
ch_jquery( document ).ready(function() {
            ch_jquery.getScript('http://isotope.metafizzy.co/isotope.pkgd.min.js',     function(){
                ch_jquery('#container').isotope();    
            });
        });

的jsfiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM