J'ai fait quelques travaux en utilisant cette Fiche d'entrée masquée jQuery et j'ai trouvé la fonction caret très utile. J'ai tiré ce code du plugin ci-dessus
$.fn.caret = function (begin, end)
{
if (this.length == 0) return;
if (typeof begin == 'number')
{
end = (typeof end == 'number') ? end : begin;
return this.each(function ()
{
if (this.setSelectionRange)
{
this.setSelectionRange(begin, end);
} else if (this.createTextRange)
{
var range = this.createTextRange();
range.collapse(true);
range.moveEnd('character', end);
range.moveStart('character', begin);
try { range.select(); } catch (ex) { }
}
});
} else
{
if (this[0].setSelectionRange)
{
begin = this[0].selectionStart;
end = this[0].selectionEnd;
} else if (document.selection && document.selection.createRange)
{
var range = document.selection.createRange();
begin = 0 - range.duplicate().moveStart('character', -100000);
end = begin + range.text.length;
}
return { begin: begin, end: end };
}
}
Une fois que vous avez créé la fonction, vous pouvez effectuer des opérations comme celles qui suivent. Une fois encore, cette fonction a été tirée de la fonction d'entrée masquée de jQuery mentionnée ci-dessus.
$("#id").caret(); //get the begin/end caret position
$("#id").caret().begin;
$("#id").caret().end;
$("#otherId").caret(5); //set the caret position by index
$("#otherId").caret(1, 5); //select a range
0 votes
Avez-vous besoin de savoir combien de caractères se trouvent dans la boîte ou où se trouve le curseur dans un corps de texte ? Le premier cas est possible, le second ne l'est (probablement) pas.
0 votes
Où se trouve le curseur dans le texte