2012-02-16 19 views
8

Ho riscontrato questo errore durante l'utilizzo di twitter bootstrap. Non ho ricevuto questo errore quando lo utilizzo in html. L'ho convertito in un tema wordpress, e ora sto ricevendo questo errore.

<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> 

Ho ricevuto questi errori.

  1. "$ è definito" il bootstrap-dropdown.js linea 72.
  2. "$ (". Discesa-toggle "). Discesa non è una funzione"

ogni aiuto è molto apprezzato. grazie.

edit: Ho provato questo https://stackoverflow.com/a/9301017/759257

e inclusa l'ultima versione di jQuery 1.7.1 ed ora funziona !!

risposta

32

Stai caricando gli script nell'ordine errato. Carica prima jQuery, altrimenti non sarà disponibile per lo script di bootstrap.

+1

ehi grazie, ho fatto lo stesso. ora funziona. molte grazie :) – Karthik

1

Inoltre, quando si utilizza JQ in Wordpress si dovrebbe avvolgere il codice in

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

Further reading

4

Suppongo che il file "bootstrap-dropdown.js" è un plugin jQuery. In tal caso, devi prima caricare jQuery, quindi cambiare i tag <script> in giro.

7

Non stai impostando nel giusto ordine:

<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

prima chiamata jquery.min.js allora il vostro bootstrap-dropdown.js

Perché il vostro bootstrap-dropdown.js è in esecuzione senza jquery

1

Ho avuto esattamente lo stesso problema. Mi è stato originariamente, in fondo, il caricamento di fronte tutti i miei file javascript, tra cui bootstrap, in una mega-pacco come segue:

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])) 

stavo pensando che bootstrap stava caricando DOPO jquery quindi dovrebbe essere ok. No. Così ho messo bootstrap in un fascio separato come segue:

  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")) 

Questo ha causato bootstrap per caricare proprietà dopo Jquery. Probabilmente la soluzione di djb avrebbe fatto anche il lavoro. Ma questo ha funzionato per me.

Problemi correlati