method - script jquery noconflict




TypeError: $ não é uma função ao chamar a função jQuery (11)

Eu tenho um script jQuery simples em um plugin do WordPress que está usando um wrapper jQuery como este:

$(document).ready(function(){

    // jQuery code is in here

});

Eu estou chamando este script de dentro do Painel do WordPress e estou carregando depois que o framework jQuery foi carregado.

Quando eu verifico a página no Firebug, constantemente recebo a mensagem de erro:

TypeError: $ não é uma função

$ (document) .ready (function () {

Devo talvez envolver o script nesta função:

(function($){

    // jQuery code is in here

})(jQuery);

Eu tive esse erro algumas vezes e não tenho certeza de como lidar com isso.

Qualquer ajuda seria muito apreciada.




O que funcionou para mim. A primeira biblioteca a importar é a biblioteca de consulta e, em seguida, chama o método jQuery.noConflict ().

<head>
 <script type="text/javascript" src="jquery.min.js"/>
 <script>
  var jq = jQuery.noConflict();
  jq(document).ready(function(){
  //.... your code here
    });
 </script>

Por padrão quando você enfileira jQuery no Wordpress você deve usar jQuery , e $ não é usado (isto é para compatibilidade com outras bibliotecas).

Sua solução de envolvê-lo na function funcionará bem, ou você pode carregar o jQuery de outra maneira (mas provavelmente não é uma boa idéia no Wordpress).

Se você deve usar document.ready , você pode realmente passar $ para a chamada de função:

jQuery(function ($) { ...

Usar

jQuery(document).

ao invés de

$(document).

ou

Dentro da função, $ aponta para jQuery como seria de esperar

(function ($) {
   $(document).
}(jQuery));

Verifique as referências do seu jQuery. É possível que você faça referência a ele mais de uma vez ou esteja chamando sua função muito cedo (antes que o jQuery seja definido). Você pode tentar como mencionado nos meus comentários e colocar qualquer referência jQuery no topo do seu arquivo (na cabeça) e ver se isso ajuda.

Se você usar o encapsulamento do jQuery, não deve ajudar neste caso. Por favor, tente porque eu acho que é mais bonito e mais óbvio, mas se o jQuery não estiver definido, você obterá os mesmos erros.

No final ... jQuery não está atualmente definido.


Você pode usar

jQuery(document).read(function(){ ... });

ou

(function ($) { ... }(jQuery));

Você se depara com esse problema quando o nome da sua função e um dos nomes de id no arquivo são os mesmos. Apenas certifique-se de que todos os seus nomes de identificação no arquivo sejam exclusivos.


substitua $ sign com jQuery assim:

jQuery(function(){
//your code here
});

var $=jQuery.noConflict();

$(document).ready(function(){
    // jQuery code is in here
});

Crédito para Ashwani Panwar e Cyssoo answer: https://.com/a/29341144/3010027


(function( $ ) {
  "use strict";

  $(function() {

    //Your code here

  });

}(jQuery));






typeerror