$('#page').bind('pageshow', function() {\r\n \/\/ Dieser Code wird nach dem Laden der Seite ausgef\u00fchrt\r\n});<\/pre>\nEigene Events ausl\u00f6sen: $.event.trigger<\/h2>\n
Oft kommt man mit den vorgegebenen Events nicht aus. Vor allem wenn man Code wiederverwenden will, muss man diesen oft in verschiedenen Situationen triggern. Ein Beispiel: Ein Listenupdate wird einmal nach dem Laden der Seite und dann immer wieder periodisch ausgef\u00fchrt. Daher ist es schlecht, die Update-Funktion in die Document-Ready-Event zu packen:<\/p>\n
$(function() {\r\n $.event.trigger('updatelist');\r\n window.setInterval(\r\n function() {\r\n $.event.trigger('updatelist');\r\n }, 10000);\r\n});\r\n\r\n$('#list').bind('updatelist', function() {\r\n \/\/ Das Listenupdate...\r\n});<\/pre>\nDie Funktion $.event.trigger<\/strong> ist hierbei enorm wichtig, in der J-Query-Dokumentation aber kaum zu finden. Diese spricht immer nur von $(selector).trigger(event)<\/em>, welche den Event auf einer konkrete Liste von gematchten Elementen ausl\u00f6st. Dies ist in aller Regel aber eine denkbar schlechte L\u00f6sung, da wir eben bei dem Triggern des Events nicht wissen wollen (und sollten), wer an diesem Event interessiert ist. $.event.trigger hingegen triggert den Event auf allen Elementen, die sich daf\u00fcr registriert haben.<\/p>\nAuf verschiedene Dateien verteilen<\/h2>\n
Da die Verteilung auf viele kleine Events zwar \u00fcbersichtlicher, aber keineswegs k\u00fcrzer ist, wird die entsprechende Javascript-Datei schnell sehr lang. Hier ist es daher empfehlenswert, die Funktionen irgendwie zu gruppieren und auf verschiedene Dateien aufzuteilen. Bei J-Query-Mobile hat man oft mehrere Einzel-Pages in einer Seite. Hier kann man f\u00fcr jede Einzelseite eine eigene Javascript-Datei erzeugen.<\/p>\n
Anschlie\u00dfend kann man den JS-Code dann serverseitig wieder zusammenfassen und komprimieren, um die Netzwerklast zu minimieren.<\/p>\n","protected":false},"excerpt":{"rendered":"
Sobald es sich um mehr als ein kleines Aufklappmen\u00fc handelt, k\u00f6nnen J-Query-Projekte schnell gro\u00df und somit un\u00fcbersichtlich werden. Schon bevor es soweit ist, sollte man sich eine klare Struktur \u00fcberlegen. Es gibt unz\u00e4hlige Projekte im Web und somit auch viele verschiedene Vorlagen. Viele nutzen einfache Funktionsstrukturen, einzelne oder auch mehrere Klassen. Was mir bisher kaum \u00fcber den Weg lief: Mit eigenen Events bietet J-Query eine M\u00f6glichkeit, sauber und vor allem unabh\u00e4ngig zu modularisieren. Ganz im Stile des Observer-Patterns muss eine Datenquelle so nicht mehr wissen, wer genau an ihr interessiert ist.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[91],"tags":[149,158,111,112],"_links":{"self":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts\/511"}],"collection":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/comments?post=511"}],"version-history":[{"count":11,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts\/511\/revisions"}],"predecessor-version":[{"id":537,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts\/511\/revisions\/537"}],"wp:attachment":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/media?parent=511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/categories?post=511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/tags?post=511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}