Robert Nyman har slagkraftigt bett Microsoft och IETeamet att strunta i att släppa ie8 om de inte gör något åt händelsehanteringen i sin webbläsare. Jag håller med honom, då jag själv precis som Nyman gärna skriver JavaScript utan bibliotek om jag kan, och därmed stöter på patrull när det kommer till hantering av händelser. Jag föreslår att länken följs och läses innan resten av detta inlägg läses.
- Det finns bara en enda global händelse, istället för en lokal referens per händelse. Istället för separat hantering för tangentbordshändelser, mushändelser och sidhändelser landar allt i en enda referens, med det senaste först, utan stack eller kö.
- Nyckelordet
this
pekar påwindow
och inte det aktuella elementet, t ex länken som klickats eller bilden som registrerar musrörelser. - Ingen capture phase, bara bubbling. Detta är att nekas en mycket, mycket stark feature i JavaScript som programmeringsspråk.
- Annan syntax:
onclick
istället förclick
,onmouseover
istället förmouseover
...
IE:s händelsehantering har bestått sedan IE5, i cirka tio år. W3C tog fram en standardiserad modell, byggd på Netscapes modell kring millenieskiftet. Den senare är idag implementerad i Firefox, Safari, Chrome och Opera. Den uteblev dock i IE6 (2001), och även ur IE7(2006). I de första fallet ar det för nära inpå, kan man tro. I andra fallet var det prioritet på CSS-buggar som tog överhanden. Men att strunta i händelsehanteringen för IE8, som uttryckligen ska prioritera JavaScriptrelaterade buggar och problem är verkligen oförlåtligt.
Det borde inte vara någon omöjlighet, med Microsofts budget och kompetenta anställda att skapa stöd för W3C-hanteringen och samtidigt vara bakåtkompatibel med den IE-specifika hanteringen.
Jag säger: Jag accepterar det inte, IETeamet måste fixa detta! Håller ni med? Blogga om det, skriv om det i kommentarer, gör er röst hörda. Microsoft har ändrat sig förut (tänk på Version targeting hyserin i våras), så det är dags för oss utvecklare att sätta ner foten!