tenía el mismo problema. No pude solucionarlo, pero encontré un trabajo alternativo.
Primero, use $.noConflict()
y haga lo que ShaunOReilly dijo y reemplace todos los caracteres $
en Bootstrap.js con jQuery
. Sin embargo, tenga en cuenta que ese bootstrap tiene muchas variables nombradas con $ al inicio; estas no son referencias a jQuery, sino que son parte del nombre de la variable. No necesita cambiarlos. Descubrí que la búsqueda y el reemplazo de instancias de $.
, $(
y $) hacen el truco.
A continuación, no cargue el complemento de carga de transición. Si está cargando la lib completa en una secuencia de comandos, entre y elimine la función de transición (está en la parte superior de bootstrap.js v2.3.0). Perderá las animaciones de transición, pero las estructuras de colapso seguirán funcionando. Ver this fiddle para un ejemplo.
Esto solucionará el comportamiento de alternar en la interacción del usuario, pero las combinaciones automáticas seguirán rotas, como mostrar u ocultar el menú de navegación en el tamaño de la página. Para solucionar estos problemas, simplemente implemente su propio detector de eventos y llame directamente a la función de arranque que necesite. Consulte el api para referencia.
Por ejemplo, para resolver el problema con la barra de navegación en la página cambia el tamaño, he utilizado este código:
window.onresize = function(event) {
var nav = jQuery(".collapse");
if (jQuery(window).width() > 940) nav.collapse('show');
else nav.collapse('hide');
}
Solo quería agradecerle por esta solución, es un poco de trabajo pero impresionante en sus resultados. como un FYI, al buscar '$)' obtendrás algunos resultados de expresiones regulares que también se mezclarán allí, no encontré instancias donde '$)' fuera necesario para cambiar a 'jQuery)' – Kender
Si miras el El código fuente de bootstrap.js, notará que todo está encapsulado en 'function ($) {...} (jQuery)', por lo que el alias '$' está localizado y apuntando correctamente a jQuery dentro del plugin de Bootstrap. , lo que significa que reemplazar "$" con "jQuery" en bootstrap.js no es necesario. Si es factible, lo sensato sería reemplazar todas las funciones de Prototype.js con equivalentes jQuery y deshacerse de Prototype.js. No es óptimo cargar dos grandes bibliotecas en un sitio web. – 10basetom