• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jQuery funktioniert teilweise nicht mehr nach Page-reload

freakyBOi

Neues Mitglied
Hallo,

ich bin momentan mit folgendem Phänomen konfrontiert: Beim ersten Aufruf meiner Seite funktioniert alles wie gewünscht. Nachdem ich jedoch per Ajax, die Seite neu geladen habe, funktionieren Teile auf einmal nicht mehr. Im Grunde möchte ich, dass wenn man auf einen Img-Button klickt, dass dieser dadurch ausgeblendet wird und der Text in einem Span entfernt wird.

HTML:
 <script type="text/javascript">
            $(document).ready(function () {
                $('#deleteDob').bind('click', function () {
                    alert('Test'); //dieser Alert wird auch nachdem die Seite per Ajax erneut aufgerufen wurde ausgeführt
                    $(document).clearQueue(); //Ich habe gehofft, dass mir dieser Methodenaufruf irgendwie weiterhilft, hat er aber leider nicht
                    $('#deleteDob').addClass('hide'); //wird nach page reload nicht ausgeführt
                    $('#dob').text(""); //wird nach page reload auch nicht ausgeführt
                });
            });
</script>

        <div>
             <span class="head">Geburtsdatum</span>
             <span id="dob">03.08.1989</span>
             <img alt="" src="~/Content/images/icons/sidebar_remove_16.png" id="deleteDob" />
         </div>

Hatte irgendjemand schon einmal ein derartiges Problem? Wer hat eine Idee, was ich probieren kann?
Das komische ist halt, dass das Click-Event funktioniert (der Alert kommt immer) nur die Methoden addClass() und text() werden nicht ausgeführt...

Beste Grüße
 
vermutlich ist da irgendwoanders noch einer, der die seite dann in die seite lädt und dann ein fehler kommt.

GESAMTEN QUELLTEXT VON DEINER HTML DATEI UND EINER JS DATEIEN, DIE VERWENDET WERDEN (außer jQuery) BITTE POSTEN!!!
 
Hi,
sorry wegen dem unvollständigen Quellcode. Wenn ich alles posten würde, wäre das sehr (!) umfangreich. Da mit der Verwendung des Ajax-Calls keine Probleme aufgetreten sind, dachte ich man könnte davon abstrahieren. Ich habe jedoch inzwischen etwas gelesen das mir weiterhelfen könnte: da durch den Ajax-Call der DOM neu geladen wird, müssen die Event-Handler und ähnliches (alles das sich auf Elemente, die neu geladen werden, bezieht) erneut an die entsprechenden Elemente gebunden werden. Eine Möglichkeit ist bspw. .on() (ehemals .live()) anstatt .click() oder bind(). Ich werde jetzt versuchen, die Elemente, die ich manipulieren möchte (s. Quellcodebsp.) vom Reload zu separieren.
Falls jemand noch einen Tipp zu der Thematik hat, kann er den gerne zum Besten geben ;-)
 
Zurück
Oben