2009-07-14 16 views
1

Ich habe ein jQuery Akkordeon für meine Website erstellt, es funktioniert alles sehr gut. Aber jetzt möchte ich etwas Javascript ausführen lassen, wenn ich auf einen Link des Akkordeons klicke. In der jQuery-Dokumentation fand ich diese Lösung:jQuery Akkordeon Accordionchange

 $('ul.accordion').accordion().bind("accordionchange", function(event, something, ui) { 
      alert('ALLO'); 
     }); 

Welche jedesmal das Akkordeon Änderungen ausführen soll, aber untill jetzt ... keine Ergebnisse (keine Benachrichtigung, wenn ich auf einem Akkordeon Link klicken Hat jemand gute Tipps auf, wie. um dies zu tun

+1

Antwort – redsquare

Antwort

1

Ihr Problem ist Ihre zu Kette versucht, die bindung an das Akkordeon

Sie können es schaffen, wenn Sie das Akkordeon initialisieren - Demo here

$('ul.accordion').accordion({ 
    change : yourFunction 
}); 

function yourFunction() { 
    //we hate alerts, use console 
    console.log('console rocks'); 
} 

Oder später, nachdem Sie bereits das Akkordeon erstellt haben

$('ul.accordion').accordion(); 

$('ul.accordion').bind('accordionchange', yourFunction); 
+0

Thanx für Ihre Tipps mit einem Demo aktualisiert, OK ich Warnungen hassen auch ;-) Ich werde diese Konsole Zeug von jetzt an versuchen Sie es mit! Aber die Vorschläge, die du machst, funktionieren nicht für mich, in der Konsole (Firebug) wird die tekst 'Konsole rockt' nur einmal gedruckt ... beim Laden der Seite. Nicht wenn ich auf einen der Akkordeon Links klicke. Ich habe beide Vorschläge ausprobiert. Dieser Code befindet sich innerhalb des $ (document) .ready Blocks in meinem HTML HEAD. – tvgemert

+0

OK, stellt sich heraus, dass ich ein anderes Akkordeon-Skript verwendet habe. Wenn ich deine Lösung mit dem aktuellen offiziellen Akkordeon (von: http://docs.jquery.com/UI/API/1.7.1/Accordion) versuche, funktioniert es. Ich brauchte einige Zeit, um mich mit dem Wesen von jQuery vertraut zu machen und es zum Laufen zu bringen. – tvgemert