Om dynamisch functies toe te voegen aan bepaalde elementen in een webpagina zonder de al bestaande events aan te tasten, maak ik gebruik van de AddEvent-methode die op het Internet vele malen is (her)bedacht door prominente JS-ers als Tino Zijdel (crisp), Dean Edwards en PPK, waarvan de laatste zelfs er een contest voor uitschreef, waarbij onder andere die van Tino er uit voort kwam.
Na veel nazoeken kom ik tot de conclusie dat de AddEvent van Tino wel tot de betere oplossingen hoort. Echter heb ik met het gebruik van deze methode nog problemen met de functionaliteit. Zo lijkt het er op dat de AddEvent niet functioneert in Safari. Op mijn Mac werkt deze namelijk alleen in Firefox (en andere nazaten zoals Camino). Omdat ik zelf als Mac-gebruiker zeer gesteld ben op Safari, wil ik deze browser niet negeren, echter lukt het me met geen mogelijkheid een "onclick" functie dynamisch toe te passen via de AddEvent of via een simpele testcase als:
Kortom, is er een AddEvent oplossing die ook in Safari werkt? Is er anders een andere oplossing die wel in "alle" browsers werkt? Of is de Javascript-functionaliteit in Safari gewoon te brak?
Ik ben er nog niet uitgekomen!
Na veel nazoeken kom ik tot de conclusie dat de AddEvent van Tino wel tot de betere oplossingen hoort. Echter heb ik met het gebruik van deze methode nog problemen met de functionaliteit. Zo lijkt het er op dat de AddEvent niet functioneert in Safari. Op mijn Mac werkt deze namelijk alleen in Firefox (en andere nazaten zoals Camino). Omdat ik zelf als Mac-gebruiker zeer gesteld ben op Safari, wil ik deze browser niet negeren, echter lukt het me met geen mogelijkheid een "onclick" functie dynamisch toe te passen via de AddEvent of via een simpele testcase als:
JavaScript:
1
2
3
4
5
| window.onload = function () { var link; // dit is een <a> element link.onclick = function () { alert ( 'Doe iets...' ); }; }; |
Kortom, is er een AddEvent oplossing die ook in Safari werkt? Is er anders een andere oplossing die wel in "alle" browsers werkt? Of is de Javascript-functionaliteit in Safari gewoon te brak?
Ik ben er nog niet uitgekomen!