Установка курсора в позицию поля input или textarea на JavaScript
Кроссплатформенное решение, не требующее Jquery:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
function getCaretPosition(ctrl) { if (document.selection) { ctrl.focus(); var range = document.selection.createRange(); var rangelen = range.text.length; range.moveStart('character', -ctrl.value.length); var start = range.text.length - rangelen; return { 'start': start, 'end': start + rangelen }; } else if (ctrl.selectionStart || ctrl.selectionStart == '0') { return { 'start': ctrl.selectionStart, 'end': ctrl.selectionEnd }; } else { return { 'start': 0, 'end': 0 }; } } function setCaretPosition(ctrl, start, end) { if (ctrl.setSelectionRange) { ctrl.focus(); ctrl.setSelectionRange(start, end); } else if (ctrl.createTextRange) { var range = ctrl.createTextRange(); range.collapse(true); range.moveEnd('character', end); range.moveStart('character', start); range.select(); } }; |
Использование:
1 2 3 4 |
//прочитаем позицию с выделеним outpz = getCaretPosition(document.getElementById('summpayme')); //установим позицию с выделением setCaretPosition(document.getElementById('summpayme'),outpz.start, outpz.end); |