addEvent + IE + this
IE alatt megoldható, hogy ha függvényt rendelek valamilyen elemhez, akkor a this változót használhassam a függvényben?
Az alábbi kód normális böngészőkben megfelelően működik, míg IE alatt undefined értéket ad.
Lehet ezen valahogyan segíteni?
■ Az alábbi kód normális böngészőkben megfelelően működik, míg IE alatt undefined értéket ad.
Lehet ezen valahogyan segíteni?
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="hu" xml:lang="hu">
- <head><title></title>
- <script type="text/javascript">
- <!--
- function addEvent(obj, evType, fn, useCapture) {
- if (obj.addEventListener) {
- obj.addEventListener(evType,fn,useCapture);
- return true;
- } else if(obj.attachEvent){
- return obj.attachEvent("on"+evType,fn);
- } else {
- return false;
- }
- }
- function start() {
- var input = document.getElementById('hello');
- addEvent(input, 'focus', function() {alert(this.value);});
- }
- addEvent(window,'load',start);
- -->
- </script>
- </head>
- <body>
- <form action="?" method="get">
- <fieldset>
- <input id="hello" value="hello" />
- </fieldset>
- </form>
- </body>
- </html>
Jo-ho-ho
Az event objektuot mindenképpen megkapja a kezelő fügvényed, amiből ki kell piszkálni az objektumot (target).
A dolgot csöppet bonyolítja, hogy explórerben több ilyen objektum is van. Pl:
Itt egy cikk, általában ez event modellekről:
http://developer.apple.com/internet/webcontent/eventmodels.html
Itt pedig egy általam írt függvény, direkt ilyen feladatokra, ha meg akarod nézni, pontosan milen is az event objektum az aktuális böngésződben:
http://vbence.web.elte.hu/dom_objektum_info.html
Bence
lásd komment,link a kódban
ui: http://toxin.hu/test2.html
itt a megoldás
addEventHandler
függvény, illetve az által meghívott függvényben hogyan kerülnek kinyerésre szabványosan az eseménnyel kapcsolatos paraméterek.Ezenkívül érdemes lehet kipróbálni a dojo JS framework eseménykezelését, konkrétan még nem használtam, de amit olvastam róla, az alpján nagyon tetszett.
Felhő