2012-02-10 11 views
51

Estoy construyendo un sitio pequeño en este momento y quería usar algunas de las partes Bootstrap de Initialzr, específicamente las pestañas. En la actualidad, he intentado utilizar el código de ejemplo proporcionado por el proyecto Bootstrap (http://twitter.github.com/bootstrap/javascript.html#tabs) y algunos ajustes, pero obtener 'indefinido no es una función' en la carga.Bootstrap: 'TypeError undefined no es una función'/'no tiene método' tab '' cuando se usan las lengüetas de arranque

Los archivos JS están precargados en el orden correcto (jQuery, libs/bootstrap/*, mi archivo script.js/la secuencia de comandos mezclada en el html), los comandos jQuery estándar (ocultar etc.) funcionan bien, así que no funciona parece estar relacionado con la opción noConflict().

¿Qué más debo verificar?

+0

¿Qué versión de Rails estás usando? – lucapette

+0

¿qué versión de bootstrap estás tratando de usar? – periklis

+0

@lucapette: 3.1.2 –

Respuesta

33

De hecho, pude resolver lo que estaba haciendo mal (y fue por mi culpa).

Estoy acostumbrado a usar pre-jQuery Rails, así que cuando incluí los archivos Bootstrap JS, no pensé que incluir la versión de jQuery incluida con ellos causaría problemas, sin embargo, cuando eliminé ese archivo JS todo comenzó a funcionar perfectamente.

Lección aprendida, compruebe tres veces qué archivos JS están cargados, vea si hay algún conflicto.

+0

Ídem, tuvimos un problema similar, y resultó que se estaba incluyendo un archivo JS antiguo. –

+0

Ayudaría si el error fuera más descriptivo, pero supongo que eso es para lo que SO es :) –

+2

La actualización de jQuery 1.6.2 a jQuery 1.7.2 lo ordenó para mí. –

18

asegurarse de que está utilizando la más reciente jQuery, y problema resuelto

me encontré con este problema con este código:

<script src="/scripts/plugins/jquery/jquery-1.6.2.min.js"> </script> 
<script src="/scripts/plugins/bootstrap/js/bootstrap.js"></script> 

Después del cambio a esto:

<script src="/scripts/plugins/jquery/jquery-1.7.2.min.js"> </script> 
<script src="/scripts/plugins/bootstrap/js/bootstrap.js"></script> 

Funciona bien

+0

¿No hay una forma de usar los complementos de Bootstrap con jQuery 1.6.2? Hemos utilizado mucho jQuery en nuestro proyecto y la actualización a 1.7.2 está rompiendo algunas cosas, por lo que no deseamos actualizarlo hasta la próxima versión. Sin embargo, deseamos incluir algunos de los complementos (Typeahead y Tooltips) en nuestra aplicación. ¿Hay alguna manera de usarlos con jQuery 1.6.2.Alguna idea de si alguien ha creado su equivalente que funciona con versiones anteriores de jQuery. –

+0

Esto resolvió mi problema. – arjuncc

+0

resolvió mi problema también – Rakeshyadvanshi

76

Esto también puede ser causado si se incluyen bootstrap.jsjquery.js antes.

Otros pueden tener el mismo problema que yo.

Incluir jQuery antes de bootstrap.

+0

Cambié la línea y funciono perfectamente :) Gracias – Terry

+1

no funcionaba para mí '// = requiere lib/jquery-2.1.0.min // = require lib/bootstrap.min' – WebQube

0

Podemos intentar utilizando la última biblioteca jQuery. Tengo el mismo problema. Usé jQuery-1.4.2.min antes y recibí el error. Después de eso, utilicé la versión 1.9.1 y funciona. Gracias

Cuestiones relacionadas