21. juli 2007 - 01:20Der er
12 kommentarer og 1 løsning
onBlur og onFocus
Virker onBlur og onFocus i alle browsere?
Både IE, Netscape, Opera, Safari ... osv?
Måske et dumt spørgsmål: men har det noget med javascript at gøre? når jeg søger efter det her på eksperten får jeg hele tiden spørgsmål vist i kategorien (D)HTML ... jeg troede egentlig at onBlur og onFocus var javascript-koder?
onBlur og onFocus er eventhandlers i et DOM Dokument.
Disse eventhandlers kan så trigger forskellige DOM methoder, eller Javascript (ECMAScript) defineret methoder (functions).
Og ja, det er min erfaring at onBlur og onFocus findes i alle browsere, dog kan IE godt opfører sig lidt anderledes nogle gange, den er sådan lidt random ;-)
Kategorien DHTML er korrekt nok, Javascript havde været ligeså korrekt, dog er JS kategorien mere målrettet direkte sprogspørgsmål, hvor DHTML er mere relateret til DOM orienterede problemstillinger som denne.
windscape >> Det er ikke en closure, men blot en anonym funktion. Dette er en closure:
function bla() { var element = document.getElementById('myelement'); element.attachEvent("onclick", foo);
fumction foo() { alert("I'm foo") } }
- og dem kløjs IE's garbage-collection voldsomt slemt i :o|
"er det bedre at lave det som eventhandlers end som attributter?" >> Du bør skrive event-handlers med lowercase ... ikke CamelCase. Kan du sætte de samme handlers med DOM/script i Safari?
olebole> puha, du taler et sprog jeg ikke helt kan forstå ... men jeg vil gerne :)
IE's garbage-collection: det må betyde at jeg ikke skal bruge den funktion du har lavet
event-handlers med lowercase? går ud fra at det er "eventhandlerne" onblur og onfocus i stedet for onBlur og onFocus ... vil det så også virke i safari?
Kan du sætte de samme handlers med DOM/script i Safari?: onBlur og onFocus virker åbenbart ikke i safari ... tror det var det du ville vide? ... og netop dette var mit store problem
Men jeg er kommet om ved det med et browsertjeck, hvor safari så virker anderledes end alle andre browsere.
Glem at om garbage-collection i forhold til dit spm. Det var udelukkende en kommentar til windscape vedr. vores lille afledte 'sidedebat' om closures.
Event-handlers bør skrives i lowercase (onfocus, onblur, onmouseover, etc), men det løser vist desværre ikke problemerne med Safari. Jeg sidder desværre ikke med én i øjeblikket, men lidt googleri viser, du langtfra er alene med problemet :o|
En alternativ løsning er under alle omstændigheder nødvendig, men jeg kan som sagt ikke lige teste mig frem til én. På den anden side ser det jo ud til, du selv har løst det, så deeeeeeeeet ......... ;o)
-- siden 1998, hvor html4 kom, har det faktisk været anbefalingen, at man skrev alle attributter i html-tags med små bogstaver, fra xhtml er det direkte ugyldig kode, at bruge andet end små bogstaver !-)
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.