我在我的Django管理员基础模板中包含了几个第三方jQuery插件,假设"$"可用.
对于我自己的代码,我一直很乐意这样做
(function($) {
my_code = 'here';
})(django.jQuery);
Run Code Online (Sandbox Code Playgroud)
但是如何为外部文件中的其他人代码提供"$"?
<script src="{{ STATIC_URL }}js/jquery.json-2.2.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
抱怨"$"未定义.我试过放
<script type="text/javascript">var $ = django.jQuery;</script>
Run Code Online (Sandbox Code Playgroud)
在那个外部引用之前,但无济于事(顺便说一下,为什么会这样?我理解加载同时发生,但是执行?我可以在定义之后立即使用"$".).
我对Django管理员提供的jQuery版本感到满意,并且真的不想加载另一个版本.我也不想编辑其他人的插件,以便从上面的"$"重新定义开始.编辑:我也不想像我自己的代码一样包装它,我只是不想触摸这些文件.
我是否真的不得不将$ .getScript() - http://api.jquery.com/jQuery.getScript - 放入我的匿名函数来加载这些文件?
编辑:在实际查看外部文件jquery.json-2.2.min.js之后,我看到它已经被包装到一个函数中,假定"jQuery"可用,而不是"$".插入后
var jQuery = django.jQuery;
在外部参考之前,它工作正常.但这真的应该怎么做呢?