/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Forskellig onClick-funktion afhængig af ta~
Fra : Michael Rasmussen


Dato : 24-08-08 22:06

Hej,

Jeg har søgt vidt og bredt for at finde en løsning, desværre uden held.
Måske har jeg søgt efter forkerte udtryk, så nu prøver jeg her...

Det jeg har brug for er, at gøre forskellige ting ved klik på et objekt,
afhængig af om en tastaturtast holdes nede samtidig med museklikket.

Eksempel:
Almindelig klik giver 'FooBar', klik mens 'F'-tasten holdes nede giver
'Foo' og klik mens 'B'-tasten holdes nede giver 'Bar'.

Jeg er kørt fast i følgende funktion, der ikke giver noget resultat:

HTML:
[...] onclick="kliktest(evt)" [...]

Javacript:
function kliktest(evt)
{
var keynum = (evt.which) ? evt.which : evt.keyCode;
alert(String.fromCharCode(keynum));
}

Hvorledes gør man dette i Javascript? (browser-uafhængigt)

--
Michael Rasmussen
------------------------------------------------------------------------
»If you don't fail at least 90 percent of the time,
you're not aiming high enough«, Alan Kay.

 
 
Birger Sørensen (24-08-2008)
Kommentar
Fra : Birger Sørensen


Dato : 24-08-08 22:58

Michael Rasmussen forklarede den 24-08-2008:
> Hej,
>
> Jeg har søgt vidt og bredt for at finde en løsning, desværre uden held. Måske
> har jeg søgt efter forkerte udtryk, så nu prøver jeg her...
>
> Det jeg har brug for er, at gøre forskellige ting ved klik på et objekt,
> afhængig af om en tastaturtast holdes nede samtidig med museklikket.
>
> Eksempel:
> Almindelig klik giver 'FooBar', klik mens 'F'-tasten holdes nede giver 'Foo'
> og klik mens 'B'-tasten holdes nede giver 'Bar'.
>
> Jeg er kørt fast i følgende funktion, der ikke giver noget resultat:
>
> HTML:
> [...] onclick="kliktest(evt)" [...]
>
> Javacript:
> function kliktest(evt)
> {
> var keynum = (evt.which) ? evt.which : evt.keyCode;
> alert(String.fromCharCode(keynum));
> }
>
> Hvorledes gør man dette i Javascript? (browser-uafhængigt)

keyEvent og mouseEvent er to forskellige ting i DOM.
MouseEvent indholder ingen oplysninger om tastede keys - med undtagelse
af shift, alt og ctrl.
Måske ville det være en ide at bruge een af dem i stedet for en
alfanumerisk...
En alfanumerisk tast der holdes nede, vil generere en hel stribe events
- og nogle browsere reagerer desuden på keyEvents med deres egne
funktioner.

Dit script vil i øvrigt ikke virke i IE.
Her skal eventen hentes fra window.event...
evt = (window.event) ? window.event : evt;

Birger



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408927
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste