Hace poco me preguntaban por un problema muy común, el famoso is not a function que ocurre al ejecutar jQuery con otras librerías que usan el famoso $. Para eso, jQuery nos facilita el trabajo mediante el método noConflict().
Para entender el funcionamiento de noConflict() hay que saber que $ no es mas que un alias para el método jQuery. Veamos un ejemplo.
$(‘div’).slideUp();
jQuery(‘div’).slideUp();
var j = jQuery.noConflict();
j(‘div’).slideUp();
Como veis, hemos usado noConflict para asignarle un nuevo alias a jQuery y ahora podemos llamar a nuestros métodos por el nuevo alias j, por lo que no entrará en conflicto con otras librerías.
Pero todavía hay otra solución aún mejor, usar el mismo $ para todas las librerías, que puede ser mas práctico si estamos reutilizando el código o simplemente estamos acostumbrados a usar la librería de la forma tradicional. Veamos un ejemplo.
$.noConflict();
jQuery(document).ready(function($){
//Aquí podemos usar el $ de jQuery
});
window.addEvent(‘domready’, function() {
//Aquí podemos usar el $ de mootools
});
Como veis en el ejemplo, dentro del método ready usando $ como parámetro de la función, podemos usar el alias $ de manera local, es decir, que una vez acabe la función, jQuery no reconocerá el alias $, por lo que podemos usar cualquier otra librería, en mi caso Mootools.
Yo he usado las dos formas y ninguna ha dado problemas, por lo que podéis usar cualquiera según os convenga.
Espero que os haya ayudado.
Etiquetas: mootools, noconflict
Sigueme con tu lector de feeds
Sígueme en Twitter



3 comentarios hacia “Tutorial: Usar jQuery con otras librerías en el mismo código”