2012-02-16 37 views
8

Recibo este error mientras uso Twitter bootstrap. No recibí este error al usarlo en html. Lo convertí en un tema de WordPress, y ahora estoy recibiendo este error.

<script src="http://twitter.github.com/bootstrap/assets/js/bootstrap-dropdown.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$('.dropdown-toggle').dropdown() 
</script> 

Estoy recibiendo estos errores.

  1. "$ es indefinido" en la rutina de carga-dropdown.js línea 72.
  2. "$ (". Desplegable-toggle "). Desplegable no es una función"

cualquier ayuda es mucho apreciado. gracias.

edición: Probé este https://stackoverflow.com/a/9301017/759257

e incluyó la última versión de jQuery 1.7.1 y ahora se trabaja !!

Respuesta

32

Está cargando las secuencias de comandos en el orden incorrecto. Cargue jQuery primero; de lo contrario, no estará disponible para el script de arranque.

+1

hey gracias, hice lo mismo. ahora funciona. muchas gracias :) – Karthik

1

Además, cuando se utiliza JQ en Wordpress que debe envolver el código en

jQuery(document).ready(function($) { 
    // $() will work as an alias for jQuery() inside of this function 
}); 

Further reading

4

Asumo el archivo "de arranque-dropdown.js" es un plugin de jQuery. Si ese es el caso, primero debe cargar jQuery, cambie sus etiquetas <script>.

7

No está configurando en el orden correcto:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script src="http://twitter.github.com/bootstrap/assets/js/bootstrap-dropdown.js"></script> 
<script type="text/javascript"> 
$('.dropdown-toggle').dropdown(); 
</script> 
2

primeros jquery.min.js llamada entonces su rutina de carga-dropdown.js

Debido a su archivo de arranque-dropdown.js se está ejecutando sin jquery

1

Tuve exactamente el mismo problema. Yo estaba originalmente, básicamente, de carga frontal todos mis archivos javascript, incluyendo arranque, en un mega paquete de la siguiente manera:

bundles.Add(New ScriptBundle("~/bundles/jquery-etc").Include(
       "~/Scripts/jquery-{version}.js", 
       "~/Scripts/jquery-ui-{version}.js", 
       "~/Scripts/bootstrap.js", 
       "~/Scripts/respond.js", 
       [other js files here])) 

Estaba pensando que de arranque se carga una vez jQuery por lo que debe estar bien. Nop. Por lo que poner de arranque en un paquete separado de la siguiente manera:

  bundles.Add(New ScriptBundle("~/bundles/jquery-etc").Include(
       "~/Scripts/jquery-{version}.js", 
       "~/Scripts/jquery-ui-{version}.js", 
       [other js files here])) 


      bundles.Add(New ScriptBundle("~/bundles/bootstrap").Include(
       "~/Scripts/bootstrap.js", 
       "~/Scripts/respond.js")) 

Esto causó arranque para cargar propiedad después de jQuery. Probablemente la solución de djb también habría hecho el trabajo. Pero esto funcionó para mí.