13. november 2008 - 14:04
Der er
9 kommentarer
Problemer med addEventListener.
Jeg har en funktion som søger i en tabel når man skriver i et tekstfelt. Det virker selvfølgelig fint i FF men ikke i IE. Den fejler med at elementet ikke understøtter "property or method": if(document.addEventListener) { element.addEventListener('keyup', value_update, false); } // IE version else if(document.attachEvent) { element.attachEvent('onkeyup', value_update.bind(element)); }
Annonceindlæg fra Cognizant
13. november 2008 - 14:26
#1
<ole> Det kræver, du har defineret en metode 'bind' på value_update's Function objekt - eller har prototyped den på det globale Function objekt /mvh </bole>
13. november 2008 - 14:27
#2
Har du ikke det, kan du f.eks. skrive: element.attachEvent('onkeyup', function(){value_update(element)));
13. november 2008 - 14:29
#3
hmm, min update_index ser således ud: function value_update(event) { var new_value = this.value; if (update_list) update_list(new_value); }
13. november 2008 - 14:29
#4
Hov, der var vist en parentes afslutning for meget - og (som altid ... hehe) en Tuborg for lidt: element.attachEvent('onkeyup', function(){value_update(element)});
13. november 2008 - 14:30
#5
Jamen, hvis funktionen ser sådan ud, kan du vel bare: element.attachEvent('onkeyup', value_update);
13. november 2008 - 14:32
#6
Hvis jeg skriver: element.attachEvent('onkeyup', function(){value_update(element)}); så crasher IE: Operation aborted!
13. november 2008 - 14:32
#7
Hvis jeg bare skriver: element.attachEvent('onkeyup', value_update); så crasher IE også. (den crasher ikke, men kan slet ikke åbne siden)
13. november 2008 - 14:45
#8
Tjek denne kode: <input id="foo" type="text" value="HeyHep"> <script type="text/javascript"> function update_list(sVal) { alert(sVal); } function value_update(event) { var new_value = this.value; if (update_list) update_list(new_value); } var oElm = document.getElementById("foo"); oElm.attachEvent("onclick", function(){value_update.apply(oElm, [event])}); </script>
13. november 2008 - 14:47
#9
Vi tilbyder markedets bedste kurser inden for webudvikling