Sí, jQuery.noConflict
es un buen comienzo, pero como la "otra biblioteca" que está utilizando también es jQuery, probablemente haya complicaciones.
Cuando carga jQuery, define $
y jQuery
como variables globales. El uso de .noConflict
"abandonará el control de la variable $
", es decir, lo que sea $
antes, se establecerá de nuevo. Si v1.3.2 se carga primero y carga el paquete más reciente (1.6.4 a partir de ahora), .noConflict
hará $
consulte v1.3.2 pero jQuery
se referirá a 1.6.4.
Básicamente, necesita alias jQuery antes de cargar el último paquete. See my fiddle used to simulate your situation (también pegado a continuación).
<script type="text/javascript">
//alias v.1.3.2
var $132 = $;
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>
<script type="text/javascript">
//alias v1.6.4
var $164 = $, jQuery164 = $;
//reset original variables to v1.3.2
$ = jQuery = $132;
console.log("v1.3.2: ", $().jquery, jQuery().jquery)
console.log("v1.6.4: ", $164().jquery, jQuery164().jquery)
$('div') //selected using v1.3.2
$164('div') //selected using v1.6.4
</script>
Después de la carga 1.6.4, es necesario poner un alias, y lo pondrá $
y jQuery
de nuevo a los objetos 1.3.2. Esto no usa .noConflict
porque esencialmente hace lo mismo. RichFaces continuará trabajando con 1.3.2 y escribirá su código en contra de la versión 1.6.4 de alias. En mi violín, eso significa usar $164
en lugar de usar $
. Espero que tenga sentido. Estoy seguro de que el violín será más claro.
Por último, está bien para desarrollar código usando jquery-latest.pack.js
pero no se debe utilizar nunca que en su sitio web de producción. La razón es porque en algún momento en el futuro, jQuery se actualizará. Si está cargando el último paquete, esas actualizaciones pueden interrumpir la funcionalidad de su sitio sin siquiera saberlo. Es más seguro elegir una versión y atenerse a ella, solo actualizando solo cuando confirmes que tu sitio seguirá funcionando correctamente.
@Moin Zaman [Esta publicación] (http://stackoverflow.com/questions/3881953/how-do-i-use-the-latest-version-of-jquery-and-get-back-the-for -jquery-in-rich) nos dice que podemos usar varias versiones de jQuery una al lado de la otra, pero no dice cómo. –