Error con Prototype y jQuery

   Una vez cansado de programar orientado a la parte empresarial, en sistemas desktop y todo esto de los sistemas de gestion y control, decidi aprender mas de la web, y aplicar lo que ya se de Java a las páginas. En realidad el cambio no es tan brusco, las diferencias son mínimas y existen un sin fin de APIs y Librerías que nos dan miles y miles de efectos personalizables.

   Estudiando todo esto me encuentro con dos librerías muy interesantes y que me llamaron mucho la atención por sus efectos, son Prototype y jQuery, pero al utilizarlas ambas juntas ciertos efectos dejan de funcionar y comienzan los conflictos, ello se debe a que las funciones son llamadas de forma dinámica con el símbolo de dolar ($) para referirse a los elementos en ambas.

   En la documentación de jQuery nos explican que hacer para utilizar jQuery con otras librerías, así que tenemos 2 opciones, o cambiamos la función para ser compatible o llamamos al método.

   Para llamar a la función "noConflict()" y utilizarla hacemos lo siguiente:

   O podemos utilizar la función junto con el método de "StandBy" o "Ready", la sintaxis va así:

   De forma que queda algo como lo siguiente:
<html>
 <head>
   <script src="prototype.js"></script>
   <script src="jquery.js"></script>
   <script>
     jQuery.noConflict();
     jQuery(document).ready(function($){
       //Aquí cargamos todos los efectos de jQuery
       $("mi_elemento").hide();
     });     
     //Y aquí cargamos los de prototype
     $('mi_id').hide();
   </script>
 </head>
 <body>...el contenido...</body>
 </html>

   Y la segunda opción (que no la recomiendo en lo mas mínimo) es modificar el script y subirlo de nuevo a cualquier servidor, cambiando "$(element)" por "$x(element)", así al utilizar prototype no tendremos problemas con jQuery.

   De cualquier forma lo que mas recomiendo es utilizar una sola, puesto que los efectos entre una y otra no son el problema, ambos tienen buena documentación y sus efectos son bastante amplios.


Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión