Maison > interface Web > js tutoriel > Comment déplacer le curseur à la fin d'un élément modifiable ?

Comment déplacer le curseur à la fin d'un élément modifiable ?

Patricia Arquette
Libérer: 2024-11-08 06:07:01
original
1060 Les gens l'ont consulté

How Do You Move the Caret to the End of a Contenteditable Element?

Déplacer le curseur à la fin d'une entité contenteditable

Certains widgets Web, comme les notes de Gmail, nécessitent la possibilité de déplacer le curseur vers la fin d'un élément contenteditable. Bien qu'il existe des solutions pour gérer les entrées, elles échouent pour les éléments modifiables en raison de leur nature distincte.

Pour relever ce défi, une solution adaptée spécifiquement aux éléments modifiables est requise. Heureusement, une fonction complète existe pour répondre à ce besoin : setEndOfContenteditable(). Cette fonction utilise l'utilisation judicieuse de plages et de sélections pour manipuler le contenu textuel de l'élément contenteditable, garantissant ainsi la compatibilité avec différents navigateurs.

Implémentation :

La fonction setEndOfContenteditable() fonctionne dans différentes versions de navigateur :

  • Navigateurs modernes (Firefox, Chrome, Opera, Safari, IE 9 ) :
    Utilise la méthode createRange() pour créer une plage invisible couvrant tout le contenu de l'élément. Collapse() est ensuite appliqué pour déplacer le point final de la plage vers le caractère final de l'élément. Enfin, la plage est ajoutée à la sélection actuelle.
  • IE 8 et versions antérieures :
    Utilise la méthode createTextRange() pour créer une plage invisible couvrant tout le contenu de l'élément. Encore une fois, la méthode collapse() est appliquée pour positionner le point final de la plage à la fin de l’élément. Enfin, la plage est sélectionnée, ce qui en fait la nouvelle sélection visible.

Utilisation :

Pour utiliser la fonction setEndOfContenteditable(), obtenez simplement l'élément cible et appliquez-le :

elem = document.getElementById('txt1'); // Element to move the caret to the end of
setEndOfContenteditable(elem);
Copier après la connexion

Cette technique déplace efficacement le curseur vers la fin d'un élément contenteditable, quelle que soit la version du navigateur ou la longueur du contenu de l'élément.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal