Maison > interface Web > js tutoriel > Extraits de code de sélection de texte d'entrée

Extraits de code de sélection de texte d'entrée

Lisa Kudrow
Libérer: 2025-02-23 09:38:14
original
702 Les gens l'ont consulté

Ce document fournit des extraits de code pour gérer la sélection de texte dans les champs d'entrée. Le chrome moderne et Firefox utilisent .setSelectionRange(), mais Firefox exige que l'élément se concentre au préalable.

Input Text Selection Code Snippets

Obtenir la position du curseur:

jQuery.fn.getCursorPosition = function(){
    if(this.length == 0) return -1;
    return $(this).getSelectionStart();
};
Copier après la connexion

Obtenir le démarrage de la sélection:

jQuery.fn.getSelectionStart = function(){
    if(this.length == 0) return -1;
    input = this[0];
    var pos = input.value.length;
    if (input.createTextRange) {
        var r = document.selection.createRange().duplicate();
        r.moveEnd('character', input.value.length);
        if (r.text == '') pos = input.value.length;
        pos = input.value.lastIndexOf(r.text);
    } else if(typeof(input.selectionStart)!="undefined") pos = input.selectionStart;
    return pos;
};
Copier après la connexion

Réglage de la position du curseur:

jQuery.fn.setCursorPosition = function(pos) {
  this.each(function(index, elem) {
    if (elem.setSelectionRange) {
      elem.setSelectionRange(pos, pos);
    } else if (elem.createTextRange) {
      var range = elem.createTextRange();
      range.collapse(true);
      range.moveEnd('character', pos);
      range.moveStart('character', pos);
      range.select();
    }
  });
  return this;
};
Copier après la connexion

Réglage de la position du curseur (alternative):

function setCursorPos(node,pos){
    var node = (typeof node == "string" || node instanceof String) ? document.getElementById(node) : node;
    node.focus(); // Crucial for Firefox
    if(!node) return false;
    else if(node.createTextRange){
        var textRange = node.createTextRange();
        textRange.collapse(true);
        textRange.moveStart('character', pos);
        textRange.moveEnd('character', 0);
        textRange.select();
        return true;
    }else if(node.setSelectionRange){
        node.setSelectionRange(pos,pos);
        return true;
    }
    return false;
}
Copier après la connexion

Questions fréquemment posées:

La section FAQ fournit des explications claires de setSelectionRange, selectionStart, selectionEnd, de la compatibilité du navigateur et de la gestion des paramètres. Les réponses sont concises et précises. Aucun changement n'est nécessaire ici.

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!

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