Hoi Yam,
Hoeps! Toch nog een lek!
Maar gelukkig nog door niemand ontdekt.
Als iemand in de aantallen-box namelijk niet een getal invult via het toetsenbord of via de up/down pijltjes, maar door copy-paste (dat zou een enkeling kunnen doen), dan reageert de functie
berekenAlles() aan geen kanten.
Voor Firefox, Chrome, Opera en Safari kan je bij het input-veld toevoegen
oninput="berekenAlles()", dan loopt dat ook.
Maar ... natuurlijk niet in IE (en zeker niet in IE<9).
Daarvoor zou
onpaste="berekenAlles()" (IE only) moeten werken, maar doet dat mooi niet in IE7.
Afijn, zo ongeveer het hele rijtje mogelijkheden
oninput="berekenAlles()" / onkeyup="berekenAlles()" / onpropertychange="berekenAlles()" / onrightclick="berekenAlles()" / onblur="berekenAlles()" / onmousemove="berekenAlles()" / onmouseleave="berekenAlles()" / enz. uitgeprobeerd, maar bij een textbox werken die allemaal niet.
Na wat omzwervingen op Google uiteindelijk een workaround
tegen het lijf gelopen: om de 0,1 sec. checken of er al iets in de textbox veranderd is. Zo nee, niets doen, en zo ja: bereken alles!
Dit werkt crossbrowser op de value van de textbox: zowel bij toetsenbord-, als up/down- als copy/paste-operaties.
Met vriendelijke groet,
CSShunter
[edit]Op 15-11-2011 nog een verbetering aangebracht, zie nr. #16 hieronder[/edit]