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

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

Linda Hamilton
Libérer: 2024-11-09 07:04:02
original
266 Les gens l'ont consulté

How to Move the Caret to the End of a ContentEditable Element?

Manipulation du curseur dans les éléments modifiables

Problème :Comment déplacer efficacement le curseur à la fin d'un élément contenteditable, imitant le comportement trouvé dans les notes de Gmail widget ?

StackOverflow propose des solutions qui fonctionnent pour les éléments d'entrée mais échouent avec les éléments modifiables par le contenu. Cet article présente une approche sur mesure spécifiquement pour les éléments modifiables par le contenu.

Solution :

Pour les navigateurs prenant en charge le contenu modifiable, la fonction JavaScript suivante peut accomplir le mouvement de curseur souhaité :

function setEndOfContenteditable(contentEditableElement) {
    // Determine browser support
    var range, selection;
    if (document.createRange) {
        // Modern browsers
        range = document.createRange();
        range.selectNodeContents(contentEditableElement);
        range.collapse(false); // Collapse to end of range
        selection = window.getSelection();
        selection.removeAllRanges();
        selection.addRange(range);
    } else if (document.selection) {
        // IE 8 and lower
        range = document.body.createTextRange();
        range.moveToElementText(contentEditableElement);
        range.collapse(false); // Collapse to end of range
        range.select();
    }
}
Copier après la connexion

Exemple d'utilisation :

Pour déplacer le curseur vers la fin d'un élément avec l'ID 'txt1' :

elem = document.getElementById('txt1');
setEndOfContenteditable(elem);
Copier après la connexion

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