La documentación dice que se puede usar $ .noConflict() así:de jQuery: Es sólo una idea rápida
jQuery.noConflict();
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery);
// other code using $ as an alias to the other library
También establece que llamar devuelve una instancia del objeto jQuery, por lo que podía hacer esto :
jQuery.noConflict()(function(){
// code using jQuery
});
// other code using $ as an alias to the other library
Sin embargo, ¿esta combinación es válida?
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery.noConflict());
// other code using $ as an alias to the other library
Si es así, ¿hay alguna razón para no hacerlo de esta manera? Y también (si funciona), ¿por qué no utilizar siempre este método para garantizar que dentro de nuestro cierre, $ == jQuery?
El único inconveniente que veo es que si tienes varios bloques así, estarías innecesariamente llamando 'jQuery.noConflict()' más de una vez. Es cierto que eso no es un inconveniente muy significativo. – Wiseguy
@Wiseguy Sí, creo que lo harías en el primer cierre, de lo contrario, es un desperdicio. – JesseBuesking
Entonces tendrías que hacer un seguimiento de qué bloque es el primero cargado. ¿Qué sucede si luego agrega un bloque/incluye un archivo .js encima del primero anterior? También me gustaría tener ' 'en la parte superior y simplemente use' (función ($) {}) (jQuery) 'en todo. Básicamente se reduce a preferencia personal, supongo. – Wiseguy