Javascript-code zu erkennen, eine Seite ändert? (vielleicht per AJAX)
Ok, also ich bin neu in javascript schreiben, und hier ist, was ich tun/versuchen zu tun.
Beim laden der Seite (window.onload -) mein javascript-code geht durch alle Formulare in einer Seite und legt eine gewisse "onchange" - Methode. Dies funktioniert gut für die meisten websites im internet, außer, wenn eine Seite dynamisch aktualisiert wird, laden Sie mehrere Formulare auf der Seite. Wie kann ich erkennen, wie ein Ereignis, und führen Sie meine Funktion?
Beispiel:
Den Facebook-Newsfeed hat eine Reihe von Formen, die mit allen verschiedenen Status/links gepostet. Mein code geht durch Sie hindurch und legt den Hörer auf. Aber wenn gehen Sie den ganzen Weg hinunter die Seite automatisch aktualisiert und zeigen mehr und mehr den Status/links/etc ist. (oder Sie klicken Sie auf die "Ältere Beiträge" - link) - aber jetzt ist mein javascript-code wurde nicht weltweit laufen wieder.
Trotzdem kann ich das tun? Danke.
EDIT: ich Schreibe eine browser-Erweiterung.
Ah ja sorry...ich Schreibe eine browser-Erweiterung.
Nicht ganz sicher, was Sie zu tun versuchen. Für die Erkennung der mutation-events, jQuery mutation Veranstaltungen Diskussion. Sieht nicht unkompliziert.
InformationsquelleAutor PixelPerfect3 | 2010-12-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
verwenden .live() ?
Ok, so dass beispielsweise scheint die Befestigung der 'live' - Funktion zu einer bestimmten Klasse - ist es irgendwie befestigen Sie die Funktion in einem Objekt "Eingang" zum Beispiel: $(document).getElementsByTagName('input').live('click', function() { // Live-handler aufgerufen. });
Haben Sie einen Blick auf jQuery-Selektoren (api.jquery.com/category/selectors). Aber um deine Frage zu beantworten, ja, Sie würden einfach tun, $("input").live("click", function() { }); könnten Sie sogar Lust, und tun, "ich möchte, dass alle Eingänge vom Typ" einzureichen, haben Sie einen Selektor $(":submit").
Nein, es ist nicht entscheidend, um javascript (in der Tat gibt es viele javascript-Puristen, die sagen, Sie sollten lernen, javascript und verstehen es zuerst), aber es hilft eine Menge. Das problem mit javascript ist, dass, obwohl es eine sehr mächtige und in mancher Hinsicht sehr elegante Sprache, die DOM-API ist ganz fehlt, und jeder browser der Umsetzung ist anders, so dass cross-browser-compliance eine echte Schmerzen. jQuery nur gibt Ihnen eine äußerst reiche, cross-browser-API, macht das arbeiten mit dem DOM einfach ... Nein, mehr als einfach, SPAß.
Kam gerade über diese Antwort nach einer google-Suche. Könnte sich lohnen, die Aktualisierung der Antwort zu erwähnen, dass
live()
ist jetzt abgeschrieben-Funktion (ab v1.7+). Beste GrüßeInformationsquelleAutor bevacqua