Execute o código personalizado após o jQuery ter sido carregado via Modernizr
Estou desenvolvendo um novo site e decidi usar o Modernizr pela primeira vez. No entanto, tenho bastante certeza da essência geral de como ele funciona. Estava procurando conselhos sobre as melhores práticas quando se trata de carregar o jQuery e depois executar o código do jQuery.
Atualmente, tenho o seguinte carregado como o último item da minha página:
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');
}
}
}
]);
Isso tenta recuperar o jQuery de uma CDN e, se não for possível, carrega uma versão local. Em seguida, repete o processo com o Javascript necessário para meus componentes de inicialização no meu site.
O problema que tenho é que, em seguida, tenho algum código jQuery diretamente após isso:
$(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;
...
Por alguma razão, apesar de estar após toda a declaração de carregamento do jQuery, estou recebendo um erro no console especificando que $ é indefinido. Isso geralmente sugere que, no momento em que o script personalizado é chamado, o jQuery não é carregado.
Minha pergunta é: como isso geralmente seria feito e qual é a melhor prática nesse caso para garantir que o jQuery seja realmente carregado antes de tentar executar o código personalizado.
Qualquer ajuda, dicas ou sugestões seria muito apreciada.