---
title: "OnKeyPress"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/78613-onkeypress"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Asa"
published: "2003-06-01T07:27:29.000Z"
updated: "2003-06-02T05:48:21.000Z"
replies: 14
views: 380
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/78613-onkeypress"
---

# OnKeyPress

## #1 — Asa, 2003-06-01T07:27Z

Finns det något javascript där man kollar ifall man trycker på någon tangent på tangentbordet?

Om man inte trycket ska en metatagg köras:

If  Not onkeyPress Then
   \<meta http-equiv="refresh" content="10"\>
End If

Fast med javascript såklart..

Permalänk: https://www.webforum.nu/p/78613

## #2 — Jesper T, 2003-06-01T07:53Z

Denna funkar om man håller inne någon knapp när man uppdaterar sidan, men endast en gång. Varför vet jag inte.

```
<script type="text/javascript" language="JavaScript">
<!--
document.onkeypress = refr; 
function refr(){ 
document.write("<meta http-equiv=refresh content=10>")
}
//--> 
</script>
```

Permalänk: https://www.webforum.nu/p/1068598

## #3 — Jojoxx, 2003-06-01T08:22Z

Om vi hoppar över meta-taggen och använder javascript för den funktionen också så är det enkelt:

```
<script language="JavaScript" type="text/javascript">
var refresh=setTimeout("location.reload(true)",10000);
document.onkeypress=function(){
	clearTimeout(refresh);
}
</script>
```

Permalänk: https://www.webforum.nu/p/1068605

## #4 — Jesper T, 2003-06-01T09:08Z

Ahaaa, det är så man gör.
Fick visserligen inte det att funka, men men.

Permalänk: https://www.webforum.nu/p/1071467

## #5 — Asa, 2003-06-01T11:13Z

Ska testa och återkommer om det ej funkar för mig...

Ska detta funka i alla webbläsare?!?

Permalänk: https://www.webforum.nu/p/1071550

## #6 — Jojoxx, 2003-06-01T15:33Z

Nej, inte fungerar det i **alla** webbläsare. Vilket script gör det? :) Men de flesta. Netscape 4+, IE5+, Mozilla, Opera 6+ (skulle jag gissa).

Permalänk: https://www.webforum.nu/p/1071721

## #7 — Asa, 2003-06-01T19:18Z

Verkade ej funka...

Permalänk: https://www.webforum.nu/p/1071890

## #8 — Jojoxx, 2003-06-01T19:21Z

Vilken webbläsare fungerar det inte i?

Permalänk: https://www.webforum.nu/p/1071893

## #9 — Jesper T, 2003-06-01T19:40Z

I.E. 6.0

Permalänk: https://www.webforum.nu/p/1071900

## #10 — Asa, 2003-06-01T19:44Z

Precis det ja...

Permalänk: https://www.webforum.nu/p/1071902

## #11 — Jesper T, 2003-06-01T19:50Z

Det verkar jojoxx också ha... :q

Permalänk: https://www.webforum.nu/p/1071907

## #12 — colione, 2003-06-01T19:52Z

Den funkar inte om ni placerar den i headern nej. Men om ni placerar den i body-elementet funkar den alldeles utmärkt!

Permalänk: https://www.webforum.nu/p/1071910

## #13 — Jojoxx, 2003-06-01T19:59Z

Funkar iofs när jag lägger den i \<head\> också, men det kan vara ett timing-problem - d.v.s. att objektet *document* inte är definierat innan \<body\> är definierad. Släng det i \<body\> och verifiera att det fungerar med ex;

```
<script language="JavaScript" type="text/javascript">
var refresh=setTimeout("location.reload(true)",10000);
document.onkeypress=function(){
	clearTimeout(refresh);
}
</script>
<form name="myform">
<input type="text" name="foo" value="0">
</form>
<script language="JavaScript" type="text/javascript">
var i=0;
setInterval("i++; document.forms['myform'].elements['foo'].value=i;",1000);
</script>
```

Om någon tangent trycks ner kommer sidan inte att refreshas och räknaren kommer att fortsätta förbi 10.

Permalänk: https://www.webforum.nu/p/1071917

## #14 — Jesper T, 2003-06-01T20:12Z

Följdfråga möjligen lite O.T. : Hur vet man när man måste köra ett script i head alt. i body?

Permalänk: https://www.webforum.nu/p/1071928

## #15 — Jojoxx, 2003-06-02T05:48Z

Prova :) Nej, men kod som genererar output med document.write() måste ligga i bodyn (eller om det är en funktion måste den anropas därifrån) på det stället där outputen skall hamna. Används objekt på sidan måste dessa finnas genererade innan du försöker anropa dem. Du kan ex. inte skriva/läsa saker från ett formulär som inte genereras förrens senare på sidan. Vid närmare eftertanke brukar det säga sig självt.

Därför kan det vara bra att köra din kod från onload - då vet du att allt är laddat och klart.

Fel:

```
<script language="JavaScript" type="text/javascript">
document.forms['myform'].elements['mytext'].value="foo";
</script>
<form name="myform">
<input type="text" name="mytext">
</form>
```

Rätt:

```
<form name="myform">
<input type="text" name="mytext">
</form>
<script language="JavaScript" type="text/javascript">
document.forms['myform'].elements['mytext'].value="foo";
</script>
```

Permalänk: https://www.webforum.nu/p/1072059

---

Tråden på webben: https://www.webforum.nu/amne/javascript/78613-onkeypress
