Dans les programmes généraux, les programmeurs aiment généralement déterminer la zone de focus en jugeant la légalité du contenu lors de la vérification de l'exactitude du contenu de la zone de saisie.
comme:
Copiez le code comme suit :
si(obj.value==""){
obj.focus();
renvoie faux ;
}
De cette façon, lorsqu'une zone de saisie est vide, le focus sera déplacé vers cette zone de saisie. Cette fonction est très pratique à utiliser. Mais il y a un petit problème...
Autrement dit, après que obj.focus() ait déplacé le focus sur la zone de saisie, il déplacera le curseur de texte (c'est-à-dire la ligne verticale clignotante) vers la position du premier caractère de la zone de saisie... Dans la mesure où le le jugement ci-dessus est concerné ..S'il n'y a pas de contenu dans la zone de texte... obj.focus peut simplement nous permettre de saisir du contenu directement dans la zone de texte sans cliquer sur la zone de texte pour que le texte soit focalisé...
Cependant, s'il y a déjà du contenu dans la zone de texte... mais que le contenu est illégal, obj.focus() déplace également le curseur à la position du premier caractère de la zone de texte... A ce moment, l'expérience utilisateur. sera prêté attention au concepteur est déprimé... Ce dont nous avons besoin, c'est que la zone de texte soit ciblée, puis déplacez le curseur de texte vers la fin de la zone de texte, afin que l'utilisateur puisse saisir le contenu directement sans cliquer sur le zone de texte. Le contenu d’entrée sera ajouté au contenu original.
Le code suivant peut compléter ce petit détail :
Copiez le code comme suit :
<langage de script="javascript">
fonction getSelectPos(obj){
var esrc = document.getElementById(obj);
si(esrc==null){
esrc=event.srcElement;
}
var rtextRange =esrc.createTextRange();
rtextRange.moveStart('character',esrc.value.length);
rtextRange.collapse(true);
rtextRange.select();
}
</script>
Ce code sera d'une grande aide aux concepteurs dans les détails de l'expérience utilisateur...