Avatar billede olebole Juniormester
22. januar 2000 - 10:29 Der er 16 kommentarer og
1 løsning

'Fange' indtastning af bestemt tegn (keyEvent…?)

Jeg mener at kunne huske, man kan detektere en indtastning af et bestemt tegn i JavaScript. Kan nogen hjælpe min alderssvækkede celle?
Specielt vil jeg gerne kunne 'fange' et 'return', men den generelle syntaks for at 'fange' et hvilket som helst tegn ønskes.
/VH
Ole Clausen
Avatar billede hage Nybegynder
22. januar 2000 - 17:02 #1
OleBole gik engang i min skole :)))

På http://dynamicdrive.com/dynamicindex5/button1.htm har de lidt af det du efterlyser: Man kan f.eks. lade én bestemt knap udføre én bestemt ting...

hilsen klassekammeraten...
Avatar billede olebole Juniormester
22. januar 2000 - 17:23 #2
Points får Hage - han skal ikke klage :)))
Det var fedt, tak! Og rent teknisk går jeg vel stadig på skolen - sådan da ;-)
Hilsen fra klassekamperaten…
Avatar billede missing Nybegynder
22. januar 2000 - 20:22 #3
Er du gal hvor er i platte til at prøve at finde på sådan nogle rim ! ;o)

Og for en anden gangs skyld, så er det pisseirriterende at når man kigger ind på et spørgsmål, at der så bare står en URL. Kan man ikke bare svare på spørgsmålet med det samme, og så hvis nødvendigt OGSÅ skrive en URL " ...hvis du vil have emnet uddybet" ???

; ment som konstruktiv kritik, MISSING :o)
Avatar billede olebole Juniormester
23. januar 2000 - 00:17 #4
Jaja, Putte. Göhte måtte jo også starte et sted - ik'? Nu fostår du måske, hvorfor vi skriver JavaScript og php i stedet ;-)
For skaldede 30 points har jeg ikke spor imod en URL - specielt ikke når den peger direkte på siden. Men for din (og andres) skyld, så er scriptet her:

<script language="JavaScript1.2"><!--
/*
Home Hot Key Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var hotkey=104
var destination="http://www.dynamicdrive.com"
if (document.layers)
document.captureEvents(Event.KEYPRESS)
function backhome(e){
if (document.layers){
if (e.which==hotkey)
window.location=destination
}
else if (document.all){
if (event.keyCode==hotkey)
window.location=destination
}
}
document.onkeypress=backhome

</script>

Din variable 'hotkey' sætter du til ASCII værdien til den key, du vil detektere. 'Return' - som jeg søgte - har værdien '13'.
Eksemplet ovenfor 'fanger' 'h'.
/VH
Ole
Avatar billede olebole Juniormester
23. januar 2000 - 00:19 #5
Hovsa:

// -->
</script>
Avatar billede gertnissen Nybegynder
23. januar 2000 - 00:39 #6
I skulle vel ikke have fundet ud af hvordan man fanger f.eks. alt+h eller ctrl+h ?
Avatar billede olebole Juniormester
25. januar 2000 - 10:02 #7
>> gertnissen

Du kan checke med det her script. Pas dog på: Nogle alt/ctrl-kombinationer har øjensynlig samme kode som andre tegn…?!?

<script language="JavaScript1.2">
/*
Bestemmer ASCII-værdien af en keyEvent, og angiver den i en alert-box.
*/

if (document.layers) {
    document.captureEvents(Event.KEYPRESS)
}

function checkKey(e){
    for (i=0;i<256;i++) {
        if (e.which==i) {
            alert(e.which);
        }
    }
}
document.onkeypress=checkKey;
</script>

/VH
Ole
Avatar billede olebole Juniormester
25. januar 2000 - 12:38 #8
Det ovenfor virker kun i NN. Det her er X-browser:

<html>
<head>
<script language="JavaScript1.2">
/*
Bestemmer ASCII-værdien af en keyEvent
*/
if (document.layers) {
    document.captureEvents(Event.KEYPRESS)
}
function checkKey(e){
    for (i=0;i<256;i++) {
        if (document.layers) {
            if (e.which==i) {
                alert(e.which);
            }
        }else if (document.all) {
            if (event.keyCode==i) {
                alert(event.keyCode);
            }
        }
    }
}
document.onkeypress=checkKey;
</script>
</head>
<body>
</body>
</html>
Avatar billede gertnissen Nybegynder
26. januar 2000 - 21:04 #9
Hej OLEBOLE

Tak for hjælpen, det virker jo fint - men ikke med kombinationer af taster f.eks. alt-k, der returnere den ikke noget. Kun ctrl-enter giver værdien 10 frem for enter alene = 13.

Jeg bruger explorer version 4.
Avatar billede olebole Juniormester
27. januar 2000 - 00:08 #10
OK, det kan måske hænge sammen med, at min platform er Mac (?)
Avatar billede sth Novice
11. januar 2006 - 21:32 #11
jeg har også leget med :
<script language="JavaScript1.2"><!--
/*
Home Hot Key Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var hotkey=104
var destination="http://www.dynamicdrive.com"
if (document.layers)
document.captureEvents(Event.KEYPRESS)
function backhome(e){
if (document.layers){
if (e.which==hotkey)
window.location=destination
}
else if (document.all){
if (event.keyCode==hotkey)
window.location=destination
}
}
document.onkeypress=backhome

</script>

og det virker også fint men jeg ville gerne bruge tast 27 (Esc-tasten) men det virker ikke hvorfor mon ikke ?
Avatar billede olebole Juniormester
12. januar 2006 - 20:37 #12
Hvad sker der - og i hvad sker der ikke ... og i hvilken browser?
Avatar billede olebole Juniormester
12. januar 2006 - 20:39 #13
PS: Pas i øvrigt på med så gamle spørgsmål. Der kan være sket meget siden ... både med hensyn til teknologier og med hensyn til de, der svarer  ;o)
Avatar billede olebole Juniormester
12. januar 2006 - 20:40 #14
... og/eller spørger  ;D
Avatar billede sth Novice
13. januar 2006 - 15:29 #15
Ja men faktisk så sker der slet ikke noget, men det virker ok med fks. ½ eller crtl+k

Min Browser: 6,0.2900
bruger Win XP SP2
Avatar billede olebole Juniormester
13. januar 2006 - 23:08 #16
Prøv at kikke her:
  http://www.eksperten.dk/spm/678154  :)
Avatar billede olebole Juniormester
13. januar 2006 - 23:14 #17
- og hvis du skal spørge på Ctrl + 'et.eller.andet.tegn' skal du have noget à la:
    if (e.ctrlKey && e.kCode==189) alert("HeyHep");
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