我正在开发一个新网站,并决定首次使用Modernizr。我相当确定它是如何工作的一般要点,但我在寻找关于加载jQuery并运行jQuery代码的最佳实践的一些建议。jQuery通过Modernizr加载后运行自定义代码
我现在有一个被加载作为最后一个项目我的网页在以下方面:
Modernizr.load([
{
load: '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',
complete: function(){
if(!window.jQuery){
Modernizr.load('/scripts/jquery-1.11.1.min.js');
}
}
},
{
load: '//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js',
complete: function() {
if ((typeof $().emulateTransitionEnd == 'function') == false) {
Modernizr.load('/scripts/bootstrap.min.js');
}
}
}
]);
这种尝试从CDN检索jQuery的,如果它不能这样做,加载本地版本。然后它重复我的网站上我的引导组件所需的Javascript过程。
我的问题是,我当时有一些jQuery代码直接跟随这名:
$(document).ready(function() {
$('.wishlist-toggle').click(function() {
var nodeId = $(this).data("node");
var id = $(this).data("id");
var type = $(this).data("type");
var addTo = $(this).data("add");
var list = $(this).data("list");
var removeFrom = $(this).data("remove");
var storedCookie = getCookie("wishlist");
var jsonString = null;
var found = false;
...
出于某种原因,尽管整个jQuery的装载声明我在我的控制台得到一个错误指定$是后被未定义。这通常表明,在调用自定义脚本的时候,jQuery不会被加载。
我的问题是,这通常会怎么做,以及在这种情况下什么被认为是最好的做法,以确保在尝试运行自定义代码之前真正加载jQuery。
任何帮助,提示或指针将不胜感激。
尝试'的console.log(Modernizr.hasOwnProperty( “负载”))'。请参阅https://github.com/SlexAxton/yepnope.js#deprecation-notice _“由于这些原因,我们也不会在Modernizr的Modernizr.load下一个版本中包含yepnope。”_ – guest271314 2014-09-30 17:23:52