Avatar billede truelz Nybegynder
11. marts 2007 - 22:20 Der er 5 kommentarer og
1 løsning

felt.setAttribute('onkeydown' i IE

Hej
Jeg forsøger mig med noget dynamisk tilføjelse af objekter. Og det virker sådan set fint nok. Men når jeg når til en attribut der hedder "onkeydown", vil Internet Explorer ikke lege med mere. Koden virker i Firefox.
Er der nogen der kan komme i tanke om et workaround der kan få koden til at spille i IE?
Koden jeg bruger, ser sådan ud, og virker bortset fra onkeydown atributten i Internet Explorer.

    felt = document.createElement('textarea');
    felt.setAttribute('name', 'andenvis');
    felt.className = 'boxwhite';
    felt.setAttribute('onkeydown', 'maxlength(this,10)');
    felt.style.width = '220px';
    felt.style.height = '60px';
    felt.innerText = '<%=andenvis%>';
    celle3.appendChild(felt);
Avatar billede roenving Novice
12. marts 2007 - 00:32 #1
Sæt den efter appenden:

    felt = document.createElement('textarea');
    felt.setAttribute('name', 'andenvis');
    felt.setAttribute('className','boxwhite');
    felt.setAttribute('class','boxwhite');//der er sågu  forskel på browserne !-)
    felt.setAttribute('style','width:220px;height:60px');
    felt.appendChild(document.createTextNode('<%=andenvis%>');
    celle3.appendChild(felt);
    felt.setAttribute('onkeydown', 'maxlength(this,10)');


-- aner ikke om det vil hjælpe, men olebole har netop været på feltstudier i området omkring events i IE ...

-- så var der også lige en ting eller to mere !o]
Avatar billede roenving Novice
12. marts 2007 - 00:34 #2
-- og måske skal du over i en funktions-tildeling:

    felt.setAttribute('onkeydown', 'function(){maxlength(this,10)}');

-- hrm, det er vel tydeligt at vi er på de gode ideers holdeplads !-)
Avatar billede olebole Juniormester
12. marts 2007 - 14:11 #3
<ole>

Man bør kun kunne aflæse en streng-repræsentation af event-handler'ens funktion med getAttribute ... man bør ikke kunne sætte en handler på den måde!
At det så virker i nogen browsere skyldes blot, at de gængse browsere er ret elendige til at overholde gældende standarder  =)

Til det skal man anvende:
attachEvent - i IE:
    http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/attachevent.asp

addEventListener - i de fleste andre moderne browsere:
    http://developer.mozilla.org/en/docs/DOM:element.addEventListener

/mvh
</bole>
Avatar billede truelz Nybegynder
12. marts 2007 - 16:33 #4
Olobole. Dit tip spiller. Lægger du lige et svar?
Avatar billede olebole Juniormester
13. marts 2007 - 14:48 #5
- gerne  ;o)
Avatar billede olebole Juniormester
13. marts 2007 - 15:09 #6
Tak for points  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester