comment faire pour désactiver les événements de clavier sur une zone de texte d'entrée en javascript
J'ai une image, et j'utilise des claviers d'appliquer certaines manipulations (translation, zoom ..). Au-dessus de l'image, j'ai une entrée de la zone de texte qui affiche le numéro de l'image dans l'ensemble de données.
Comment puis-je désactiver la manipulation de l'image quand le curseur est sur la zone de texte? (c'est à dire désactiver le comportement que j'ai attribué à chaque clavier). Je voudrais également toujours être en mesure de modifier la zone de texte(pour passer à l'image numéro xx par exemple). De ce que j'ai lu ici IPad Désactiver keyevent sur entrée, je pense que la solution serait quelque chose comme ceci:
//input text field
var currentPosDisplay = $('<input type=text id="currentPos" onkeypress="return disableManipulation();" value="1" style="display:inline" >');
Mais je ne sais pas comment la mettre disableManipulation() de sorte que lorsque j'appuie sur une touche du conseil d'administration (à l'intérieur de la zone de texte), seul le comportement par défaut se produit (et non pas la manipulation de l'image)
OriginalL'auteur user1499220 | 2013-09-06
Vous devez vous connecter pour publier un commentaire.
Il semble que vous voulez que l'utilisateur puisse modifier la valeur dans le
input
, mais vous ne voulez pas de ces événements pour être vu au document (ou tout autre contenant), où vous avez connecté les événements de clavier pour la manipulation d'images.Si c'est le cas, vous pouvez le faire avec
Event#stopPropagation
:OriginalL'auteur T.J. Crowder
Vous pouvez vérifier si l'entrée de l'élément a le focus: Comment puis-je savoir ce qui DOM l'élément qui a le focus?
Et si c'est le cas, ne s'appliquent pas à votre image manipulation.
Renvoyant false à partir de la onkeypress gestionnaire d'ignorer la touche qui a été pressée, mais si vous avez le focus, il semble que vous ne souhaitez pas que, de toute façon.
OriginalL'auteur jozxyqk