Avatar billede steven_ Nybegynder
09. januar 2006 - 14:56 Der er 8 kommentarer og
1 løsning

Aktivering af javascript ved klik på tast

Jeg ønsker en forklaring af hvordan jeg aktiverer et stykke javascript når jeg klikker på knappen "½" (keycode: 220).

Jeg vil tro det skal ligne noget alá nedenstående:

function myConsole()
{
    if (event.keyCode == 220)
    {
        alert("..");
    }
}

- - - - - - - - - - - -

onkeypress="myConsole();"
Avatar billede yezbarh Nybegynder
09. januar 2006 - 15:30 #1
<script type="text/javascript">
var d = document, k;

function CK()
{
k = event.keyCode;
event.cancelBubble=true;
if (k == 220)
{
  alert("console");
  } else {
return false;
};
}
d.onkeydown=CK;
</script>

--

yezbarh
Avatar billede steven_ Nybegynder
09. januar 2006 - 15:32 #2
Er det ikke muligt at gøre kompatibelt i alle browsere?
Avatar billede olebole Juniormester
09. januar 2006 - 23:46 #3
<ole>

Nu skriver du ikke, hvilket element, der skal tildeles den pågældende event - men det kunne se sådan ud:

<script type="text/JavaScript">
function xEvnt(e) {
    e = window.event? window.event : e;
    if (!e.srcElement) e.srcElement = e.target;
    if (typeof e.clientX=="undefined") {
        e.clientX = e.pageX;
        e.clientY = e.pageY;
    }
    e.kCode = e.keyCode>0 ? e.keyCode : e.which;
    if (!e.stopPropagation) e.stopPropagation = function(){this.cancelBubble=true};
    if (!e.preventDefault) e.preventDefault = function(){this.returnValue=false};
    return e;
}
window.onload = function() {
    document.getElementById("gnu").onkeypress = function(e) {
        e = xEvnt(e);
        if (e.kCode==189) alert("HeyHep");
        e.stopPropagation();
        e.preventDefault();
    }
}
</script>

<input type="text" id="gnu">

/mvh
</bole>
Avatar billede steven_ Nybegynder
10. januar 2006 - 21:39 #4
olebole: det skal fungere nøjagtigt som yezbarh's, det skal blot også virke i firefox.

jeg ønsker at den reagerer ved klikket ligemeget hvornår man trykker tasten ned :)
Avatar billede olebole Juniormester
10. januar 2006 - 21:45 #5
- nej, det virker absolut ikke som yezbarh's - og det virker i FF. Du må begå en fejl, men jeg kan ikke sige, hvad det er, du gør galt  :)
Avatar billede steven_ Nybegynder
10. januar 2006 - 21:51 #6
olebole: nej nej. dit var perfekt, hvis bare jeg ønskede at den skulle reagere på knappen når den blev skrevet i et input. den skal aktiveres ligemeget hvad - også selvom jeg ikke er i et inputfelt.
Avatar billede olebole Juniormester
10. januar 2006 - 21:54 #7
Okay ... så ser det vel bare sådan ud:

<script type="text/JavaScript">
function xEvnt(e) {
    e = window.event? window.event : e;
    if (!e.srcElement) e.srcElement = e.target;
    if (typeof e.clientX=="undefined") {
        e.clientX = e.pageX;
        e.clientY = e.pageY;
    }
    e.kCode = e.keyCode>0 ? e.keyCode : e.which;
    if (!e.stopPropagation) e.stopPropagation = function(){this.cancelBubble=true};
    if (!e.preventDefault) e.preventDefault = function(){this.returnValue=false};
    return e;
}

document.onkeypress = function(e) {
    e = xEvnt(e);
    if (e.kCode==189) alert("HeyHep");
    e.stopPropagation();
    e.preventDefault();
}
</script>
Avatar billede steven_ Nybegynder
10. januar 2006 - 22:11 #8
smid svar :)
Avatar billede olebole Juniormester
10. januar 2006 - 22:19 #9
- s'gerne ... griiiiiib  ;o)
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