Web – Resolvendo conflitos no jQuery

O jQuery é uma biblioteca tão bacana que é usada intensamente por desenvolvedores e web designers.

Isso é ótimo por um lado, pois além de todas as vantagens, traz certa uniformidade para o desenvolvimento, e impede que um dos dois suje demais o código.

O lado péssimo é que, se desenvolvedores e designers não se conversam, o que é comum, cada um acaba por usar versões diferentes do jQuery, o que pode gerar conflitos. Algumas vezes nem dá para chegar em um acordo, pois a depender a implementação, a dependência gerada de uma determinada biblioteca pode tornar inevitável o uso de duas versões. O erro mais comum é passar a não encontrar determinadas funções, mesmo as padrões do jQuery, obtendo resultados como:

$(“#datepicker”).datepicker() is not a function

Isso acontece porque, com mais de uma versão do jQuery, cada uma tenta declarar a variável “$”. Na segunda tentativa de usá-la, o erro acima aparece. A solução? Veja o código abaixo:

var $j = jQuery.noConflict();
$j("#datepicker").datepicker();

O que isso faz? Cria um novo contexto para o jQuery, permitindo que você trabalhe com ele a partir desta nova variável. Uma explicação melhor do que o método noConflict() faz pode ser vista no link abaixo:

http://api.jquery.com/jQuery.noConflict/

Pronto! Seu jQuery voltará a funcionar.

Referências

http://stackoverflow.com/questions/1212696/jquery-ui-datepicker-datepicker-is-not-a-function

Comentários

comentários