2012-11-05 11 views
65

Ich versuche, einige normale Tasten in Radiobuttons der Twitter-Bootstrap-Weg (http://twitter.github.com/bootstrap/javascript.html#buttons) zu drehen.Bootstrap Radio-Tasten toggle Ausgabe

folgte ich den Anweisungen, aber wenn ich drücken Sie die Tasten erhalte ich die folgende Fehlermeldung in der Konsole:

nicht erfasste Fehler: kann nicht rufen Methoden auf die Schaltfläche Initialisierung vor; versucht, die Methode 'toggle' aufzurufen.

Weißt du, was es verursachen könnte? Die Schaltflächen werden auf der Seite geladen und erst dann sichtbar, wenn der entsprechende Inhalt von AJAX angezeigt wird.

Danke!

+0

Vielleicht dump Frage, aber haben Sie 'bootstrap-button.js' oder' bootstrap.js' geladen? –

+0

bootstrap.js ist geladen. Ich habe Mods auf meiner Seite und sie funktionieren perfekt in 100% der Zeit. Die Radio-Buttons funktionieren in 5% der Fälle. – Bogz902

+0

Sie sagen, dass die Schaltflächen nur angezeigt werden, wenn der zugehörige Inhalt geladen ist (aus AJAX) oder? Ich bin mir nicht sicher, ob Sie die Schaltflächen initialisieren können, wenn sie noch nicht sichtbar sind. –

Antwort

209

Ich hatte das gleiche Problem und es hat mich verrückt gemacht !!!!

Bis ich, dass ich gefunden wurde Laden Bootstrap vor jQueryUI ...

schaltete ich den Auftrag, und beachten Sie, dass, wenn ich Last jQueryUI VOR Bootstrap, habe ich kein solches Problem :)

+6

Bootstrap hat eine modifizierte Version von jQuery UI, und das Laden von jQuery UI kann Probleme verursachen. –

+0

Sie empfehlen daher, dass jQuery UI und Bootstrap nicht gleichzeitig ausgeführt werden? –

+0

Wenn Sie Probleme haben, versuchen Sie, jquery ui aus dem Code zu kommentieren, und wenn Ihr Code danach funktioniert, verursacht jQuery UI Fehler. –

7

dieser Ausgabe ist wegen jquery-ui Blockierung der Initialisierung von Button-Definitionen von bootstrap für Benutzer wie mich, die Probleme mit der Verschiebung der Reihenfolge der Javascript-Datei Aufrufe zum Beispiel bei der Verwendung der CJUiAutocomplete Widget in Yii, nur Verschiebung der Javascript entsprechenden Schaltfläche haben .js von der bootstra p-Datei an die Hauptarbeitsdatei und es wird reibungslos funktionieren.

Alternativ nehmen Sie die entsprechende js und legen Sie es in einer separaten Datei, die am Ende des Javascript-Datei-Stack aufgerufen wird.

4

Das Vertauschen der Ladereihenfolge von Bootstrap und jQueryUI löst dieses Problem, verursacht jedoch andere Probleme, z. B. das Schließen von X auf jQueryUI-Dialogen wird nicht angezeigt. Gibt es einen anderen Weg, dies zu lösen?