Goedemorgen!
Op dit moment ben ik bezig met een prachtig custom made object in JavaScript. Onder veel andere member variabelen heeft dit object een 'state', namelijk uitgeklapt of niet uitgeklapt. Nu wil ik graag, dat het object een bewerking uitvoert wanneer de state wordt gewijzigd. Een typisch gevalletje 'onChange' ... zo zou een mens denken. Helaas lijkt onChange binnen eigen objecten anders te werken.
Als voorbeeld onderstaande (sterk vereenvoudigde) code:
Nu is het zo, dat wanneer ik het object voor de eerste keer aanmaak:
Dan krijg ik een prachtige melding dat uitgeklapt is gewijzigd. Wanneer ik echter later de waarde van 'uitgeklapt' wijzig:
Dan krijg ik niet mijn alert. Uit de microsoft definitie op msdn maak ik op, dat het wel zou moeten kunnen. Nu is er wel een work-around te bedenken om te doen wat ik wil ... het lijkt me echter zo leuk om dit ook op deze manier werkend te krijgen.
Heeft iemand hier ervaring mee / suggesties over.
Alvast grote dank!
Op dit moment ben ik bezig met een prachtig custom made object in JavaScript. Onder veel andere member variabelen heeft dit object een 'state', namelijk uitgeklapt of niet uitgeklapt. Nu wil ik graag, dat het object een bewerking uitvoert wanneer de state wordt gewijzigd. Een typisch gevalletje 'onChange' ... zo zou een mens denken. Helaas lijkt onChange binnen eigen objecten anders te werken.
Als voorbeeld onderstaande (sterk vereenvoudigde) code:
code:
1
2
3
4
5
6
7
| function myObject () {
this.uitgeklapt = false;
this.uitgeklapt.onChange = alert ('Uitgeklapt is gewijzigd');
} |
Nu is het zo, dat wanneer ik het object voor de eerste keer aanmaak:
code:
1
| foo = new myObject; |
Dan krijg ik een prachtige melding dat uitgeklapt is gewijzigd. Wanneer ik echter later de waarde van 'uitgeklapt' wijzig:
code:
1
| foo.uitgeklapt = true; |
Dan krijg ik niet mijn alert. Uit de microsoft definitie op msdn maak ik op, dat het wel zou moeten kunnen. Nu is er wel een work-around te bedenken om te doen wat ik wil ... het lijkt me echter zo leuk om dit ook op deze manier werkend te krijgen.
Heeft iemand hier ervaring mee / suggesties over.
Alvast grote dank!