Im en utilisant la version la plus récente moo et en essayant d'écrire une fonction qui évalue l'expression donnée par l'utilisateur sur l'événement "keyup". Dès que mes tests passent, je mets automatiquement l'accent sur l'élément d'entrée suivant pour améliorer l'expérience utilisateur et la vitesse, car il utilise le formulaire plusieurs fois.Mootools Shift-Tab événement problème
Alors je suis venu avec quelque chose comme ça:
var getNextInputElement = function(element){
returns the next input element
}
var checkDay = function(event){
var input = $('booking_day').get('value');
if (input.length > 1 && input < 32) {
$('booking_day').erase('class');
if (!(event.key == "tab")) {
getNextInputElement($('booking_day')).focus();
}
else {
$('booking_day').focus();
}
}
else if(input.length > 1) {
$('booking_day').set('class','error');
}
else {
$('booking_day').erase('class');
}
};
window.addEvent('domready', function() {
$('new_booking').reset();
$('booking_day').addEvent('keyup', checkDay);
$('booking_day').focus();
});
fonctionne très bien jusqu'à présent. Mais si j'essaie de « shift-tab » retour à mon champ d'entrée
getNextInputElement($('booking_day')).focus();
est évaluée et se concentrer remis à la zone d'entrée suivante. L'utilisateur ne peut donc pas revenir aux données saisies précédemment. Je ne trouve aucune possibilité d'attraper cet événement. Comme deux touches sont enfoncées, deux événements sont déclenchés. Un pour "tab" et un second, mais pas pour "shift". Le event.key.code de cet événement semble être en dehors de la portée que mootools réalise.
Quelqu'un peut-il aider à résoudre ce problème?
Merci. Jason
Vous êtes grand! Merci beaucoup, exactement ce que je cherchais. –
Aucun problème mec. Bienvenue. – Zaje