Ik ben bezig met een JS-class in Prototype JS. Dit doe ik door middel van veelal dynamische functies in de pagina te bouwen.
Zodra de pagina geladen wordt, wordt na een check van dom:loaded een aantal functies aangeroepen. Een voorbeeld is het automatisch aanmaken van Prototips doormiddel van het uitlezen van de rel='xx' tag.
(je plaatst vervolgens in je html code: <a rel='tooltip tekst'>hoi ik ben een tooltip</a>, en het wordt omgezet naar de tooltip)
Verder heb ik ook enkele andere functies die bijvoorbeeld forms uitlezen en daar een handler aan koppelen voor fieldchecks en afhandeling.
Het probleem waar ik nu tegen aanloop, is dat zodra ik een ajax request doe, er nieuwe data in een div wordt geparsed. Alleen ik wil dat enkel de data in die div, geevalueerd wordt door javascript. Op dit moment wordt alles opnieuw geeval'd. Dit houdt dus in dat de bestaande elementen een dubbele functie krijgen, plus dat het een stuk trager wordt aangezien opnieuw alles geeval'd wordt.
Nu bestaat er natuurlijk de optie om handmatig in elk .php bestand, dat via ajax is aangeroepen, hardcoded de nieuwe elementen te evalueren. Alleen dit haalt een beetje het punt weg van mijn hele framework. Ik wil het zo dynamisch mogelijk houden.
Is er een manier om enkel een bepaalde div (de geupdate div met ajax) te evalueren, zonder dat je de hele pagina meepakt?
Zodra de pagina geladen wordt, wordt na een check van dom:loaded een aantal functies aangeroepen. Een voorbeeld is het automatisch aanmaken van Prototips doormiddel van het uitlezen van de rel='xx' tag.
code:
1
2
3
4
5
| autoTip: function() { $$('a[rel]').each(function(el) { new Tip(el, el.rel, {opties}); }.bind(this)); } |
(je plaatst vervolgens in je html code: <a rel='tooltip tekst'>hoi ik ben een tooltip</a>, en het wordt omgezet naar de tooltip)
Verder heb ik ook enkele andere functies die bijvoorbeeld forms uitlezen en daar een handler aan koppelen voor fieldchecks en afhandeling.
Het probleem waar ik nu tegen aanloop, is dat zodra ik een ajax request doe, er nieuwe data in een div wordt geparsed. Alleen ik wil dat enkel de data in die div, geevalueerd wordt door javascript. Op dit moment wordt alles opnieuw geeval'd. Dit houdt dus in dat de bestaande elementen een dubbele functie krijgen, plus dat het een stuk trager wordt aangezien opnieuw alles geeval'd wordt.
Nu bestaat er natuurlijk de optie om handmatig in elk .php bestand, dat via ajax is aangeroepen, hardcoded de nieuwe elementen te evalueren. Alleen dit haalt een beetje het punt weg van mijn hele framework. Ik wil het zo dynamisch mogelijk houden.
Is er een manier om enkel een bepaalde div (de geupdate div met ajax) te evalueren, zonder dat je de hele pagina meepakt?