Avatar billede phliplip Nybegynder
16. marts 2007 - 13:45 Der er 7 kommentarer og
1 løsning

JS: addEvent med return

Simpelt spørgsmål;

hvis jeg normalt har onkeypress="return minFunktion();"

Hvordan ville den så se ud med en addHandler/addEventListener?

/Philip
Avatar billede olebole Juniormester
16. marts 2007 - 14:40 #1
<ole>

Hvad er meningen med at returnere fra funktionen?

/mvh
</bole>
Avatar billede olebole Juniormester
16. marts 2007 - 14:41 #2
Dette kunne være løsningen:
    ELEMENT.addEventListener("keypress", function(){return minFunktion()}, false);

- men det er ikke nødvendigvis en god løsning ... og det er ikke til at sige, om du kunne gøre noget bedre, uden at vide mere  =)
Avatar billede phliplip Nybegynder
19. marts 2007 - 08:49 #3
Hej Ole,

Det er fordi jeg gerne vil have den til at cancel en event ved keypress hvis minFunktion returner false

<input type="text" onkeypress="return minFunktion();">

Hvis den key der er trykket på ikke er "tilladt" vil funktionen returnere false og taste trykket vil ikke blive registreret.
Avatar billede phliplip Nybegynder
19. marts 2007 - 08:53 #4
Kender du forresten en løsning til hvordan jeg kan kontrollere om en eventHandler er sat på elementet i forvejen?

Jeg skal bruge onkeydown for IE og onkeypress for de andre før mit script virker på alle.

Så jeg tænkte at jeg ville lave en onfocus="date_onfocus();", så når feltet får focus kontrollerer den først hvilken browser vi snakker om, og kontrollerer derefter om der er sat en onkeydown / onkeypress event på det element der har fået focus. Hvis ikke så sæt den.

Jeg kan godt afsætte flere points :P
Avatar billede phliplip Nybegynder
19. marts 2007 - 09:41 #5
Jeg har fået det til at virke i IE ved at sætte element.onkeypress = function() { return minFunktion(event) };

Men i FF på brokker den sig over at event ikke er defineret.
Avatar billede phliplip Nybegynder
19. marts 2007 - 09:55 #6
Never mind den sidste der.. skulle sende event med over i function().. altså

element.onkeypress = function(event) { return minFunktion(event) };
Avatar billede phliplip Nybegynder
19. marts 2007 - 10:21 #7
Har fået det hele til at virker... smider du et svar ole ;)
Avatar billede olebole Juniormester
20. marts 2007 - 14:04 #8
"Kender du forresten en løsning til hvordan jeg kan kontrollere om en eventHandler er sat på elementet i forvejen?" ... ikke umiddelbart, men attachEvent og addEventListener sætter den ikke, hvis den i forvejen eksisterer på elementet.

Dette kan du også gøre (FF-kode ... i IE bruger du blot attachEvent):
    ELEMENT.addEventListener("keypress", function(event){return minFunktion(event)}, false);

- eller:
    <input type="text" onkeypress="return minFunktion(event);">
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger elementleder til System sektionen i Hvidovre

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Netværkstekniker til Forsvarets Cyberdivision i Hvidovre – Er det dig?

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger AI forretningskonsulent i Ballerup

LINK Mobility

Support Specialist