Toon posts:

[javascript] afvangen F* toetsen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een html pagina geschreven die in een webviewer (dus niet in IE, maar een app. die gebruik maakt van de engine van IE) wordt gedisplayed.

Nu wil ik de F* toetsen afvangen.
om de een of andere reden kan ik elke willekeurige toets afvangen behalve deze.. :(

ik gebruik hiervoor nu het volgende javascriptje.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function IEKeyCap() 
{

if (window.event.keyCode == 117) 
{alert('=F6')};
if (window.event.keyCode == 118) 
{alert('=F7')};
if (window.event.keyCode == 119) 
{alert('=F8')};
}
.....
....
onKeyPress="IEKeyCap()"


maar hij doet ut niet.. wat zie ik over het hoofd?

Verwijderd

ik zie het probleem niet zo 1,2,3 ... maar waarom ga je niet werken met een switch:
code:
1
2
3
4
5
6
7
function IEKeyCap () {
    switch (window.event.keyCode) {
        switch 117: alert('=F6'); break;
        switch 118: alert('=F7'); break;
        switch 119: alert('=F8'); break;
    }
}

  • edie
  • Registratie: Februari 2002
  • Laatst online: 22:43
misschien onkeydown of onkeyup proberen?

"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert


Verwijderd

Topicstarter
ik zag het probleem ook niet zo..
maar hij werkte niet. ik zal het eens proberen met die switch, maar volegns mij is dat alleen een andere schrijf wijze voor hetzelfde.

bedoeling van het geheel is dat je 'navigeert' met de F* toetsen.

  • André
  • Registratie: Maart 2002
  • Laatst online: 01-09 14:07

André

Analytics dude

MSDN:
Remarks

As of Microsoft® Internet Explorer 4.0, the onkeypress event fires and can be canceled for the following keys:

Letters: A - Z (uppercase and lowercase)
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - + = < [ ] { } , . / ? \ | ' ` " ~
System: ESC, SPACEBAR, ENTER
En dan is het ook nog altijd:
code:
1
document.onkeypress = IEKeyCap;

Verwijderd

Topicstarter
ik had:
code:
1
<body onKeyPress="IEKeyCap()">

maar euh.. this is not going to work ?! of begrijp ik je verkeerd Yogho

Verwijderd

Erm. kerel lees eens wat Yogho heeft gepost :P Nee dus. De reden is heel simpel. De functietoetsen worden al in gebruik genomen door de browser.

Als ik als gebruiker mijn help wil openen, mag daar geen internetscripting tussen zitten.

  • André
  • Registratie: Maart 2002
  • Laatst online: 01-09 14:07

André

Analytics dude

Verwijderd schreef op 27 augustus 2002 @ 11:28:
ik had:
code:
1
<body onKeyPress="IEKeyCap()">

maar euh.. this is not going to work ?! of begrijp ik je verkeerd Yogho
neuh.. this is not going to work !

In de MSDN staat letterlijk welke toetsen je af kunt vangen, en ik zie de functie toetsen er echt niet bij staan.

Ga maar eens naar MSDN en zoek op "onkeypress event", dan op eerste gevonden item klikken. :)

Daar staat alles wat jij weten moet over dit onderwerp.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:07

crisp

Devver

Pixelated

onKeyDown kan je ze wel detecteren, je kan ze alleen niet cancellen...

Intentionally left blank


Verwijderd

crisp schreef op 27 augustus 2002 @ 11:38:
onKeyDown kan je ze wel detecteren, je kan ze alleen niet cancellen...
Wat dus als resultaat heeft bij F1 dat je eigen functie wordt uitgevoerd, alsmede de Help functie van je browser.

  • André
  • Registratie: Maart 2002
  • Laatst online: 01-09 14:07

André

Analytics dude

Nog een quote uit de MSDN:
You can cancel all keys that fire the onkeydown event in HTML Applications, including most accelerator keys, such as ALT+F4.

In Internet Explorer 4.0, you cannot cancel the onkeydown event, but you can use the onkeypress event to cancel keyboard events.
Dus of je moet met een .hta gaan werken, of het kan gewoon niet.

Verwijderd

Topicstarter
:) ik hoef de key ook niet te cancellen.
het is voor een terminal met een uitgeklede NT4 shell.

die onkey press werkt !
Pagina: 1