Toon posts:

Alt-key trappen in Internet Explorer

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik werk aan een browser-applicatie (voor intern bedrijfsgebruik) waarin ik mijn eigen shortcuts wil gebruiken m.b.v. de Alt-key.
Het vervelende is dat Internet Explorer de Alt-key toch propageert ook al trap ik de key en zet ik de keyCode op 0 en return ik "false" vanuit de event handler.
Weet iemand of het mogelijk is om te voorkomen dat dit gebeurt?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ja dat is mogelijk, maar geef eens even aan welke code jij hebt gebruikt (tussen [code=html][/] en / of [code=js][/] tags), zodat wij je niet met code hoeven voor te schotelen :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
BtM909 schreef op zondag 13 mei 2007 @ 18:08:
Ja dat is mogelijk, maar geef eens even aan welke code jij hebt gebruikt (tussen [code=html][/] en / of [code=js][/] tags), zodat wij je niet met code hoeven voor te schotelen :)
Ik zal niet de hele routine neerzetten, maar onderstaand fragment zou dacht ik in principe moeten voorkomen dat de Alt-key verder propageert:

[code=js]
function trapAltKey()
{
e=e || window.event;
if (e.altKey) {
if (e.keyCode) e.keyCode=0;
return false;
}
}
[/code=js]

  • Niakmo
  • Registratie: Juni 2001
  • Laatst online: 10-02-2024
probeer eens?

JavaScript:
1
if (e.altKey == 1)



ik gebruik zelf de volgende code om toetsen combinaties als ctr+a af te vangen.
JavaScript:
1
if(((KeyID >= 46 && KeyID <= 90) || KeyID == 8 ) && (e.ctrlKey != 1) && (e.metaKey != 1) )

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Volgens mij kun je dat met event.cancelBubble ofzoiets doen, kijk eens naar deze pagina op Quirksmode.org

We are shaping the future


Verwijderd

Topicstarter
Niakmo schreef op maandag 14 mei 2007 @ 02:43:
probeer eens?

JavaScript:
1
if (e.altKey == 1)



ik gebruik zelf de volgende code om toetsen combinaties als ctr+a af te vangen.
JavaScript:
1
if(((KeyID >= 46 && KeyID <= 90) || KeyID == 8 ) && (e.ctrlKey != 1) && (e.metaKey != 1) )
Bedankt, maar ik heb geen moeite met toetsen afvangen in het algemeen. Het gaat specifiek om de alt-toets. Ik kan hem ook wel opvangen, maar ik kan niet voorkomen dat hij later ook nog door Internet Explorer wordt geinterpreteerd.

Verwijderd

Topicstarter
Alex) schreef op maandag 14 mei 2007 @ 02:57:
Volgens mij kun je dat met event.cancelBubble ofzoiets doen, kijk eens naar deze pagina op Quirksmode.org
Bedankt, maar cancelBubble toevoegen maakt niet uit.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Heb je deze pagina al gezien: http://www.quirksmode.org/js/keys.html?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Deze specifieke pagina niet, wel veel andere over key trapping. Overigens is mijn probleem niet het trappen van keys, dat lukt prima.
Het probleem is om de Alt-key na het trappen te de-aktiveren, en daarvoor zie ik nergens een oplossing.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op maandag 14 mei 2007 @ 12:38:
[...]


Deze specifieke pagina niet, wel veel andere over key trapping. Overigens is mijn probleem niet het trappen van keys, dat lukt prima.
Het probleem is om de Alt-key na het trappen te de-aktiveren, en daarvoor zie ik nergens een oplossing.
Ik neem aan dat je shortcut bestaat uit een ALT + letter / getal. Op die combinatie moet je trappen en cancellen, er staat nota bene een voorbeeld onderin, waarmee je het kan testen. Alleen alt cancellen is volgens mij in standaard applicaties niet mogelijk vanwege toegankelijkheid :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 01-12 13:11
Ik denk niet dat je dit kunt voorkomen, inderdaad in verband met toegankelijkheid.
Stel dat je Alt+F4 zou kunnen cancellen? Voor een intranet is dat wellicht gewenst, maar in een internet browser niet.

[ Voor 73% gewijzigd door frickY op 14-05-2007 12:52 ]


Verwijderd

Topicstarter
BtM909 schreef op maandag 14 mei 2007 @ 12:45:
[...]

Ik neem aan dat je shortcut bestaat uit een ALT + letter / getal. Op die combinatie moet je trappen en cancellen, er staat nota bene een voorbeeld onderin, waarmee je het kan testen. Alleen alt cancellen is volgens mij in standaard applicaties niet mogelijk vanwege toegankelijkheid :)
Mijn probleem is nu juist dat laatste... die toegankelijkheid is voor mij niet van belang omdat ik een corp-applicatie voor de browser maak die geen gebruik maakt van standaard menu-opties.

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 07:20

BCC

Cancel je zowel de keydown als keypressed?

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Als ik zo dit topic doorlees denk ik eerder dat jij ervoor wilt zorgen dat iemand de browser niet kan afsluiten?

Zoek je dan niet gewoon 'kiosk browser' ?

Going for adventure, lots of sun and a convertible! | GMT-8


Verwijderd

Topicstarter
BCC schreef op maandag 14 mei 2007 @ 13:34:
Cancel je zowel de keydown als keypressed?
Alleen keydown, maar dat moet genoeg zijn.

Verwijderd

Topicstarter
Snake schreef op maandag 14 mei 2007 @ 13:42:
Als ik zo dit topic doorlees denk ik eerder dat jij ervoor wilt zorgen dat iemand de browser niet kan afsluiten?

Zoek je dan niet gewoon 'kiosk browser' ?
De browser mag wel worden afgesloten. Maar ik heb geen menu of toolbar in de browser, en wil mijn eigen alt-keys gebruiken. Dat werkt op zich, maar Internet Explorer geeft dan een beep elke keer als je een alt-key gebruikt (Firefox niet).

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 07:20

BCC

Verwijderd schreef op maandag 14 mei 2007 @ 13:47:
Alleen keydown, maar dat moet genoeg zijn.
Voor heel veel keys is keydown niet voldoende om de bubble te cancelen. Escape weet ik toevallig van dat dit dus 2x moet. En backspace in Firefox moet ook tweemaal. Ga maar eens enthousiast spelen met die Quirksmode pagina die al 3x gelinkt is :)

Daarnaast moet je je realiseren dat het erg lastig is om alles crossbrowser goed af te vangen door alle nare inconsistencies in de afhandeling door browsers en keydown en keypressed verschillen. Zie wederom quirksmode hiervoor.

[ Voor 22% gewijzigd door BCC op 14-05-2007 14:01 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Verwijderd

Topicstarter
BCC schreef op maandag 14 mei 2007 @ 13:58:
[...]

Voor heel veel keys is keydown niet voldoende om de bubble te cancelen. Escape weet ik toevallig van dat dit dus 2x moet. En backspace in Firefox moet ook tweemaal. Ga maar eens enthousiast spelen met die Quirksmode pagina die al 3x gelinkt is :)

Daarnaast moet je je realiseren dat het erg lastig is om alles crossbrowser goed af te vangen door alle nare inconsistencies in de afhandeling door browsers en keydown en keypressed verschillen. Zie wederom quirksmode hiervoor.
Ik heb mijn twijfels. Ik trap zelf de Escape key (en nog heel veel andere keys, met en zonder Ctrl en Shift), en heb daarvoor alleen de key down nodig.
Maar ik denk dat mijn probleem niet oplosbaar is, domweg omdat Microsoft de Alt-key "beschermt" om toegankelijkheids-redenen (die voor mij niet interessant zijn omdat het niet om een "gewone" Web-page gaat).
Ik zal dus naar een alternatief moeten zoeken (bv. Shift+Ctrl gebruiken i.p.v. Alt voor de shortcuts)
Pagina: 1