Les fonctions et l'utilisation de cette extension pour les champs de texte :
1. Obtenez la position du curseur : $(elem).iGetFieldPos();
2. start);
3. Sélectionnez les caractères à la position spécifiée : $(elem).iSelectField(start,end);
4. > 5. Insérez une chaîne après le curseur : $(elem).iAdd(str);
6. Supprimez n caractères avant (-n) ou après (n) le curseur : $(elem).iDel(n) ;
Code d'extension jQuery :
Copier le code Le code est le suivant :
;(function($){
/*
* Extension jQuery pour les opérations du curseur de champ de texte (sélectionner, ajouter, supprimer, prendre)
*/
$.fn. étendre({
/* if(document. selection){
var. dupRange=range .duplicate();
dupRange.moveToElementText(field);
dupRange.setEndPoint( 'EndToEnd',range);
field.selectionStart=dupRange.text.length- range.text.length;
field.selectionEnd=field.selectionStart range.text.length;
}
return field.selectionStart;
},
/*
* Sélectionnez les caractères à la position spécifiée || Définissez la position du curseur
* --- De la sélection (y compris le début) à la fin de la FIN (à l'exclusion de la FIN)
* --- Après le caractère de début)
*/
iSelectField:function(start,end){
var field=this.get(0);
//la fin n'est pas définie, alors la position du curseur est définie
if(arguments[1]==undefined){
end=start;
}
if(document.selection){
//IE
var range = field.createTextRange() ;
range.moveEnd('character',-$(this).val().length);
range.moveEnd('character ',end);
range.moveStart('character', start);
range.select();
}else{
//Non-IE
field.setSelectionRange(start ,end);
$(this).focus();
=$( this).val().indexOf(str);
i != -1 ? $(this).iSelectField(i,i str.length) : false;
},
/*
* Insérer une chaîne
après le curseur */ ;
var l en=$(this).val().length;
if(document.selection){
document. selection.createRange().text=str;
$(this).val( ).slice(0,field.selectionStart) str $(this).val().slice(field.selectionStart,len));
this.iSelectField(selPos str.length);
};
},
/* (0);
var pos=$(this).i GetFieldPos();
var v=$(this).val();
$(this).val(n>0 ? v.slice(0,pos-n) v.slice(pos) : v.slice( 0,pos) v.slice(pos-n));
Chargez-le dans le code d'extension, puis appelez-le en fonction du nom de la méthode dans l'extension.