Le plugin jQuery autocomplete ne se concentre pas sur le prochain champ cliqué
-
03-07-2019 - |
Question
J'utilise le J & # 246; plug-in jQuery autocomplete plugin qui fonctionne très bien, à l’exception d’un petit bug: si un utilisateur commence à taper dans un champ auquel la saisie semi-automatique est attachée, puis que, même si la suggestion est toujours affichée, il clique sur un autre champ de saisie, le curseur revient au champ avec la complétion automatique.
Existe-t-il des solutions à ce problème ou fonctionne-t-il assez bien? J'ai remarqué que l'auto-complétion de jQuery UI fait la même chose .
La solution
J'ai eu la gentillesse de regarder le code pour vous, décommentez cette ligne:
// TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
input.focus();
Dans jquery.autocomplete.js
ligne 583
.
Autres conseils
Le correctif est le suivant:
Mettez en commentaire les lignes 308 à 310 de la version décompressée:
//if (wasVisible)
// position cursor at end of input field
//$.Autocompleter.Selection(input, input.value.length, input.value.length);
Et du post de Luca, commentez la ligne 510:
//input.focus();
Ces deux éléments doivent être commentés pour que tout fonctionne correctement.
Et si l’utilisateur utilisait la touche Entrée ou la touche TAB? Comment puis-je empêcher le plugin de définir le focus dans le champ de saisie alors? Vous voulez que ça marche aussi, ou seulement quand l’utilisateur a utilisé la souris pour choisir dans le menu déroulant?