Avatar billede dansermeddhtml Nybegynder
29. marts 2001 - 13:59 Der er 6 kommentarer og
1 løsning

keypress på input i Netscape 4

Findes der mon et hack der gør at jeg kan få fat i \"pil op\",\"pil ned\",\"page up\" og \"page down\" keypress events på en <input type=text> i Netscape 4.7?
Avatar billede rafique Nybegynder
29. marts 2001 - 19:50 #1
Jeg ved ikke hvor langt du selv er nået med problemet, men her er hvad jeg lige biksede sammen for at undersøge sagen (skrevet udelukkende til Netscape):

<FORM NAME=\"form1\">
  <INPUT TYPE=\"text\" NAME=\"input1\" VALUE=\"skriv noget her\">
</FORM>
<SCRIPT LANGUAGE=\"javascript\" TYPE=\"text/javascript\">
<!--
var inp = document.forms[\"form1\"].elements[\"input1\"];

function hKeyDown(e){
  if (e.target == inp)
    alert(\"Du må skam ikke skrive her\");
  return false;


window.captureEvents(Event.KEYDOWN);
window.onkeydown = hKeyDown;
//-->
</SCRIPT>

Desværre ser dette ud til kun at virke med taster, som skriver et ASCII-tegn (bogstaver, tal, tegn, space), samt backspace og enter. Scriptet virker ikke med funktions-taster som Ctrl, Alt, Page Up-Dwn, piletaster osv.

Jeg er næsten bange for at dette er en begrænsning ved NS4.x\'s event model; altså noget man ikke kan komme uden om, men jeg er ikke sikker, så jeg vil jævnligt vende tilbage for at se om nogen har løst problemet.

Lykke til,

Rafique
Avatar billede dansermeddhtml Nybegynder
30. marts 2001 - 10:53 #2
Det var dertil jeg var kommet selv; og det bekymrer mig lidt at der måske ikke er noget at gøre :-(
Avatar billede jakoba Nybegynder
31. marts 2001 - 03:19 #3
Eventen fanges men which er bare nul. for piltaster og de funktionstaster der ikke bliver interceptet til hotkey brug.
ctrl og shift fanges og kan kan aflæses i modifiers.
Det må skida være muligt. For dumt med en event der sker men ikke fortæller hvem den er.

<SCRIPT LANGUAGE=\"javascript\" TYPE=\"text/javascript\"> <!--
function hKeyDown(e){
  alert( \"keycode=\"+e.which +\" modifiers=\" +e.modifiers +\" type=\" +e.type );
  return false;
}; //end hKeyDown( Event Object );

window.captureEvents(Event.KeyDown);
document.onKeyDown = hKeyDown;
//-->
</SCRIPT>
Avatar billede rafique Nybegynder
31. marts 2001 - 15:42 #4
jakoba >> nu ser da først umuligt ud! - problemet dansermeddhtml har er nemlig først og fremmest at keydown eventen slet ikke fanges af et text input felt - det fanger kun ikke-funktions taster
Avatar billede jakoba Nybegynder
31. marts 2001 - 17:14 #5
Men det er da ret naturligt. I et tekstinput felt er piltasterne jo hotkeys til at flytte edit-cursoren rundt med.
Avatar billede jegharetproblem Nybegynder
31. marts 2001 - 22:10 #6
jakoba >> sandt nok, men for det meste kan man jo cancel default behavior, sagt på godt dansk, ved at returnere false når eventen fanges. Jeg tænker her på fx. højreklik i NS4...
Avatar billede dansermeddhtml Nybegynder
29. april 2001 - 14:34 #7
øv :(
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