Requête :
Comment pouvez-vous déterminer la position du curseur (en caractères) dans un saisie de texte field?
Réponse :
Solution améliorée :
Utilisez field.selectionStart comme mentionné dans la réponse fournie.
Solution originale :
Pour intégration non jQuery, le code suivant peut être utilisé :
/* Returns the caret (cursor) position of the specified text field (oField). Return value range is 0-oField.value.length. */ function doGetCaretPosition(oField) { // Initialize var iCaretPos = 0; // IE Support if (document.selection) { // Set focus on the element oField.focus(); // To get cursor position, get empty selection range var oSel = document.selection.createRange(); // Move selection start to 0 position oSel.moveStart('character', -oField.value.length); // The caret position is selection length iCaretPos = oSel.text.length; } // Firefox support else if (oField.selectionStart || oField.selectionStart == '0') iCaretPos = oField.selectionDirection=='backward' ? oField.selectionStart : oField.selectionEnd; // Return results return iCaretPos; }
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!