Comment simuler une pression de touche tab angulaire
Je suis intéressé à faire une très simple auto de tabulation de la fonction. J'aimerais par programmation appuyez sur la touche "tab" pour le visiteur. Je n'arrive pas à trouver comment accomplir cela en standard JS (c'est à dire - ne pas utiliser jQuery .trigger()
).
Utilisation: <input auto-tab="3">
directive('autoTab', [function () {
return {
restrict: "A",
scope: false,
link: function (scope, el, attrs) {
el.bind('keyup', function () {
if (el.val().length >= attrs.autoTab) {
//document.dispatchEvent();
}
});
}
}
}])
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que c'est possible. Découvrez ce post et cette SORTE de question:
Vous pourriez essayer une approche différente: changer votre directive, de sorte qu'il reçoit l'id de l'élément qui doit être porté suivante:
Et puis vous pouvez l'utiliser comme ceci:
De travail démo ici.
Ce n'est pas exactement ce que vous voulez, mais j'ai peur que cela n'est pas possible de le faire en simulant une touche de TABULATION.
element
n'est pas un objet jQuery, afin de l'appelant.focus()
directement est bien.document.getElementById
, pas$()
. Dans le cas où vous êtes, alors vous devriez le faireelement[0].focus()
comme vous l'avez mentionné plus tôt.je pense que c'est mieux pas nécessaire de mentionner l'id de l'élément d'entrée
var inputs = elem.closest('form').find(':input'); inputs.eq( inputs.index(elem)+ 1 ).focus();
Selon le degré de prise en charge du navigateur vous avez besoin, dispatchEvent() pourrait faire l'affaire pour vous.