Avatar billede giant Nybegynder
23. november 2002 - 10:58 Der er 2 kommentarer og
1 løsning

Hvordankan man bruge kombinationer af genvejstaster i sine sites

Jeg skal lave et site der skal indlære genvejstaster for windows og word.
dvs. der kommer et spørgsmål og svaret er f.eks. Ctrl+F4 eller Esc, eller Ctrl+s eller måske endda Ctrl+alt+z.
Jeg vil geren have at den rigtige tastekombination bringer mig hen til næste side med næste spørgsmål. Hvis det går godt vil jeg i en database lægge gevejstaster, beskrivelser af disse og spørgsmål så jeg vha ASP hurtig kan genere en masse spørgsmål.
Jeg er klar over at hver tast har et nummer!
Jeg har afprøvet alle de svar jeg har fundet herinde, men der altid et eller andet mindre problem
* jeg har brug for kode der kan tage en eller flere genvejstaster
* Hvis ikke man trykker rigtig skal der f.eks. viset et billede med "forkert prøv igen".
(+ koderne for disse og også lidt programmering
* og ideelt set skal jeg i min database kunne opbevare kodestumper gældende for hver genvejstast eller kombinationen af disse så et asp script kan generere kode.

forresten er dette ikke min konto...jeg har 2000 point stående på en konto jeg ikke kan få gjort aktiv. Så jeg måtte lige oprette denne konto idag. Jeg har samme spørgsmål stående på html:programmering men til 200 point! Jeg har så kun 100 at byde på her...men det kan vel ordnes
Lilian
Avatar billede dk_akj Nybegynder
04. december 2002 - 13:04 #1
Her er et javascript der f.eks kan checke om derer trykket "ctrl + c"

Tryk en genvejscombination

<script>

addKeyHandler(document.body);

// check for space
document.body.addKeyPress(32, function(){alert("You pressed Space");});

// check for ctrl + c
document.body.addKeyDown(67, function() {if (window.event.ctrlKey) alert("CTRL + C");});


// check for q og w
var w, q;
document.body.addKeyDown(81, function() {q = true; if (q && w) window.status = "q and w is pressed";});
document.body.addKeyUp(81, function() {q = false; window.status = "";});

document.body.addKeyDown(87, function() {w = true; if (q && w) window.status = "q and w is pressed";});
document.body.addKeyUp(87, function() {w = false; window.status = "";});




function addKeyHandler(element) {

    element._keyObject = new Array();
    element._keyObject["keydown"] = new Array();
    element._keyObject["keyup"] = new Array();
    element._keyObject["keypress"] = new Array();
   
    element.addKeyDown = function (keyCode, action) {
        element._keyObject["keydown"][keyCode] = action;
    }
   
    element.removeKeyDown = function (keyCode) {
        element._keyObject["keydown"][keyCode] = null;
    }

    element.addKeyUp = function (keyCode, action) {
        element._keyObject["keyup"][keyCode] = action;
    }
   
    element.removeKeyUp = function (keyCode) {
        element._keyObject["keyup"][keyCode] = null;
    }
   
    element.addKeyPress = function (keyCode, action) {
        element._keyObject["keypress"][keyCode] = action;
    }
   
    element.removeKeyPress = function (keyCode) {
        element._keyObject["keypress"][keyCode] = null;
    }
   
    function handleEvent() {
        var type = window.event.type;
        var code = window.event.keyCode;
       
        if (element._keyObject[type][code] != null)
            element._keyObject[type][code]();
    }
   
    element.onkeypress = handleEvent;
    element.onkeydown = handleEvent;
    element.onkeyup = handleEvent;
}


</script>
</HTML>



//akj
Avatar billede giant Nybegynder
04. december 2002 - 22:15 #2
Hej
Det virker ikke hvis jeg bare tager koden i et dokument.
Jeg formoder at alt det  kode du har sendt skal op i head....men så skal der vel være en kode i body der kalder scriptet???
Avatar billede dk_akj Nybegynder
10. december 2002 - 09:41 #3
Her er et helt .html document der virker hos mig. (IE 6)

//akj

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Hvad trykkes der på ??</title>
</head>

<body>
<script>

addKeyHandler(document.body);

// check for space
document.body.addKeyPress(32, function(){alert("You pressed Space");});

// check for ctrl + c
document.body.addKeyDown(67, function() {if (window.event.ctrlKey) alert("CTRL + C");});


// check for q og w
var w, q;
document.body.addKeyDown(81, function() {q = true; if (q && w) window.status = "q and w is pressed";});
document.body.addKeyUp(81, function() {q = false; window.status = "";});

document.body.addKeyDown(87, function() {w = true; if (q && w) window.status = "q and w is pressed";});
document.body.addKeyUp(87, function() {w = false; window.status = "";});




function addKeyHandler(element) {

    element._keyObject = new Array();
    element._keyObject["keydown"] = new Array();
    element._keyObject["keyup"] = new Array();
    element._keyObject["keypress"] = new Array();
   
    element.addKeyDown = function (keyCode, action) {
        element._keyObject["keydown"][keyCode] = action;
    }
   
    element.removeKeyDown = function (keyCode) {
        element._keyObject["keydown"][keyCode] = null;
    }

    element.addKeyUp = function (keyCode, action) {
        element._keyObject["keyup"][keyCode] = action;
    }
   
    element.removeKeyUp = function (keyCode) {
        element._keyObject["keyup"][keyCode] = null;
    }
   
    element.addKeyPress = function (keyCode, action) {
        element._keyObject["keypress"][keyCode] = action;
    }
   
    element.removeKeyPress = function (keyCode) {
        element._keyObject["keypress"][keyCode] = null;
    }
   
    function handleEvent() {
        var type = window.event.type;
        var code = window.event.keyCode;
       
        if (element._keyObject[type][code] != null)
            element._keyObject[type][code]();
    }
   
    element.onkeypress = handleEvent;
    element.onkeydown = handleEvent;
    element.onkeyup = handleEvent;
}


</script>
</body>
</HTML>
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
Kurser inden for grundlæggende programmering

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