2012-10-11 3 views
0

Encore une fois, vous attendez votre aide. Faire face à un petit peut être un problème stupide. Je crée un petit plugin jQuery pour mon travail. Ce plugin devrait être entièrement personnalisable. Je complète presque tout autre que cette tâche.Comment écraser la touche fléchée vers le haut pour fonctionner comme une touche fléchée droite

En fait, lorsque l'utilisateur clique sur un élément d'entrée et que l'on appuie sur la flèche haut et bas, j'ai besoin d'augmenter et de diminuer les valeurs respectivement. Mais quelle flèche doit être utilisée est personnalisable. Si l'utilisateur sélectionne 'updown', alors la touche haut et flèche devrait fonctionner. Si l'utilisateur sélectionne 'leftright' alors les touches fléchées droite et gauche devraient fonctionner respectivement pour augmenter et diminuer les valeurs. Dans cette situation, l'utilisateur doit avoir les flèches vers le haut et vers la droite pour déplacer le curseur à droite et à gauche. Parce que maintenant les touches fléchées gauche et droite sont utilisées à d'autres fins.

En fait, j'ai une solution est peut utiliser la position du curseur. Mais existe-t-il d'autres moyens faciles qui pourraient faciliter ce travail? PS: Désolé si ma question a dérouté l'un d'entre vous.

Merci d'avance.

+0

Quelle est la valeur? Un numéro? –

+0

Pouvez-vous inclure la logique actuelle? Comment résolvez-vous les touches fléchées haut/bas maintenant? –

Répondre

2

Vous pouvez utiliser un objet pour stocker les codes clés .. quelque chose comme ça

<select id="keys" > 
    <option value="updown"> Up - Down </option> 
    <option value="leftright"> Left - Right</option> 
</select> 


var keys = { 
    updown:{ 
     inc:38, 
     dec:40 
    }, 
    leftright:{ 
     inc:37, 
     dec:39 
    } 
} 

document.onkeyup = function KeyUp(e) { 
    var selected = document.getElementById("keys"); 
    var keyCode = (window.event) ? event.keyCode : e.keyCode; 
    if(keys[selected.value].inc === keyCode){ 
     alert("increase........."); 
    }else if(keys[selected.value].dec === keyCode){ 
     alert("decrease........."); 
    } 
} 

Démo: http://jsfiddle.net/2qaJf/1/

Note: s'il vous plaît effacer la mise au point de l'élément de sélection lorsque vous essayez la démo.

0

Je suis assez confus par la question, mais ce que je comprends, c'est que vous voulez faire la touche fléchée vers le haut pour fonctionner comme la touche fléchée droite.

$(document).keydown (function (e) { 
    if(e.which == 38){ 
    console.log("up arrow pressed - put right arrow key function or trigger the right arrow key event here"); 
    } 
}); 

38 = haut événement clé flèche

J'espère que cela vous aidera.

Questions connexes