Ich habe ein Problem Ich benutze jquery U.I Tabulatoren, die alles mit Ajax laden. Jetzt habe ich es sofort, jedes Mal wenn Sie auf eine Registerkarte klicken, wird eine Teilansicht in diese Registerkarte geladen.Verlangsamt Jquery Webseiten?
Jetzt in dieser Teilansicht sind sie Javascript-Dateien, die jquery verwenden, um alle Ereignisse zu binden, die in diesem Tab benötigt werden, plus einige Jquery-Plugins, die ich verwende.
Jedes Mal, wenn diese Registerkarte geladen wird, werden alle diese Skripts geladen. Wenn es 10 Mal angeklickt wird, dann werden diese Skripte 10 Mal geladen, wobei jetzt jeder von sagen, meine Buttons haben jetzt 10 der gleichen Ereignisse, bedeutet das, wenn jemand auf diesen Knopf klickt, werden 10 Ereignisse alle abfeuern und dasselbe tun.
Also muss ich eine Lösung finden, um entweder das ganze Skript zu verschieben und es auf der Hauptseite zu haben und jquery.live oder eine andere Lösung zu verwenden.
Ich habe versucht, Jquery-Caching für die UI-Registerkarten zu verwenden, aber dies wird nicht funktionieren, da einige Dinge in Tab A beim Ändern Effekt Tab B bedeutet, ich brauche Tab B neu geladen werden, aber die Skripts können nicht neu geladen werden laufe auf das gleiche Problem wie jetzt.
Ich folge nicht? kann ich einige Beispiele sehen? Wie funktioniert das mit Plugins? Ist es schnell oder langsamer, das dann "live" zu machen? – chobo2
Macht es auch weg, nur um alles zu lösen? – chobo2
Aufruf von unbind() vor remove() und bind() ist eine gute Möglichkeit, mehrere Bindungen für dasselbe Element zu verhindern. Ich bevorzuge live() wenn etwas erstellt und oft gelöscht wird (zB animierter Hover-Effekt auf Buttons) – Mike