Hey là, j'ai une page avec le jQuery Draggable() activé sur #person
et que #person
est contraint à #map
.jQuery Draggable() et le contrôle du clavier
(lien vers plugin: http://docs.jquery.com/UI/Draggables/draggable)
Cependant, j'ai également ajouté le contrôle avec les touches fléchées du clavier. Maintenant, ils jouent tous bien ensemble jusqu'à ce que j'arrive au bord de la zone contrainte (le bord de #map
).
Si je traîne, le #person
obtient Limités à la #map
- si j'utilise les touches fléchées, le #person
peut aller au-delà du bord de #map
.
Comment puis-je contraindre les touches fléchées ainsi que le draggable?
Mon code pour le contrôle du clavier:
$(document).bind('keydown',function(e){ //set the keydown function as...
switch(e.which) {
case 37: $(characterName).animate({
left: '-=40'
}, 250, function() {
});
break;
}
});
**** **** ouf hourras.
[EDIT] S'il vous plaît quelqu'un? [/ EDIT]
sur keydown, trouver les limites de la #map, test voir si #personne tombe en dehors de la zone, si c'est le cas, sortir autrement, exécuter le commutateur et votre animation –
NOOB QUESTION: Comment irais-je à propos de trouver les limites de #map? –
Vous pouvez voir ici: http://www.vfstech.com/?p=79 pour obtenir le rectangle englobant d'un objet à travers javascript – jasonpgignac