|
|||
IE onchange Event Problematik
Hallo Forum,
ich habe ein Formular mit mehreren Inputs (hauptsächlich radio). Jedes input wird observt (prototype, ob ein event eintritt). Ich achte auf das onchange event, eigentlich sollte das ja gefeuert werden, sobald sich der value ändert. Klappt im FF auch gut aber im IE tritt es erst ein, sobald der Benutzer außerhalb des input's klickt. Allerdings wird der Klick dann nur zum Event auslösen verwendet, wurde auf ein anderes input geklickt passiert nichts (bzw nur das event wird gefeuert...). Was ist die Standardlösung für dieses Problem - sollte ja relativ häufig eintreten können und hoffentlich hat sich schon ein schlauer Codeschnipsel durchgesetzt? Ich würde sonst für den IE automatisch ein 2. click Event feuern wollen, habe das aber noch nicht getestet und ist vermutlich auch mehr fusch als eine gute Lösung. Was wäre eure Lösung? Gruß, Chris |
Sponsored Links |
|
|||
Element.observe (document.getElementById("foo"), "click", myFunction);
Erzeugt ein Listener der überwacht ob auf das Element mit der ID foo geklickt wird (on muss bei Prototype weggelassen werden), beim Klick wird myFunction ausgeführt. Der Code funktioniert soweit auch problemlos, es hapert lediglich daran, dass der IE onchange erst beim Klick außerhalb des Elementes feuert und der Klick dann kein (wie es richtig wäre) neues onclickt feuert - dadurch geht die gewünschte Funktionalität leider nicht. |
|
|||
Auch gut
Aber dann feuern die anderen Browser onchange sobald der User eine andere Checkbox anklickt UND das onclick für die andere Checkbox. Im IE wird der Klick auf die andere Checkbox aber nicht gefeuert und deshalb müsste der User 2x klicken - was natürlich doof ist. Theoretisch wäre es ja möglich einen Timer zu starten sobald die Checkbox geklickt wurde, 10ms später onblur zu feuern (für den IE) und dann sollte ein weitere Klick ja normal klappen. (ob nun 10ms oder wieviel ist ja eigentlich ladde) EDIT: Oder bietet sich ein anderes Event mehr an und ich denke nur umständlich? Geändert von 1chris (20.01.2011 um 16:38 Uhr) |
|
|||
onblur wird ja identisch mit onchange (bzw change unmittelbar nach blur) gefeuert.
Hat noch jemand Anders einen Lösungsvorschlag? Ich finde meine momentane Lösung (einen 2. onclick für den IE zu feuern) ehr schlecht. |
Sponsored Links |
|
|||
Habe das ganze nochmal umgemuddelt und letzlich ist nun ein switch case je nach input type rausgekommen.
Problem war halt, dass der IE onclickt verschluckt wenn der Klick auch ein onchange / blur ausgelöst hat. |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Event dispatcher/listener | passsy | Javascript & Ajax | 3 | 02.03.2011 16:56 |
CSS Event anstelle von JS Event nutzen | 1chris | Javascript & Ajax | 6 | 08.09.2010 09:11 |
Javascript - onChange Event reagiert nicht auf "ss" und "ß" | supercop89 | Javascript & Ajax | 3 | 14.06.2010 12:43 |
select abfragen, wenn kein onchange statt findet | Cyro | Javascript & Ajax | 6 | 10.02.2008 20:28 |
onchange Problem | webdanger | Javascript & Ajax | 3 | 11.07.2006 12:12 |