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