Rolf B: JS script sowohl bei dynamisch als auch statisch geladenem content ausführen

Beitrag lesen

problematische Seite

Hallo borisbaer,

du kannst die Scripte zu Beginn der Seite laden, klar. Typischerweise hat man dann einen Eventhandler für ein load oder DOMContentLoaded Event, um zu wissen, wann das DOM zu Schandtaten bereit ist.

Mit "Außenbereich" meine ich nicht den Ort, wo das Script liegt, sondern worauf es wirkt. Du hast ja Seitenteile, die beim Subpage-Wechsel unverändert bleiben (der unveränderliche Rahmen) und andere, die beim Subpage-Wechsel nachgeladen werden (der Innenteil des Rahmens).

Dieses Laden erfolgt JavaScript-getrieben. Dieses Javascript lädt das gewünschte HTML (per Ajax), und bringt es ins DOM. Das ist Zeile 55-69 im main.js, wenn ich deiner "problematischen Seite" folge. Da hast Du einen Success-Handler, und der bringt das neue HTML ins DOM.

		$.ajax({

			url: "subpages/" + href,

			error: function() {

				alert( "Seite nicht gefunden." );

			},

			success: function( html ) {

				$( ".append" ).html( html );

			}

		});

(ich hasse Code, wo jede 2. Zeile eine Leerzeile ist...)

Jedenfalls musst Du nach diesem .html Aufruf, der das neue HTML zuweist, die nötigen Events für dieses HTML registrieren. Wie Du das steuerst, musst Du aus deinem Code selbst ausbaldowern. Du musst dabei nur aufpassen, dass Du keine Handler neu registriert, deren Element außerhalb dieses <div class="append"> liegt. Nicht einfach, man muss dafür sehr genau überlegen, was man tut, aber machbar. Good Luck 😀

Rolf

--
sumpsi - posui - obstruxi