jQuery Установить положение курсора в текстовой области
У меня две функции:
function setSelectionRange(input, selectionStart, selectionEnd) {
if (input.setSelectionRange) {
input.focus();
input.setSelectionRange(selectionStart, selectionEnd);
}
else if (input.createTextRange) {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', selectionEnd);
range.moveStart('character', selectionStart);
range.select();
}
}
function setCaretToPos (input, pos) {
setSelectionRange(input, pos, pos);
}
Затем div вы можете использовать setCaretToPos jquery следующим образом:
setCaretToPos(document.getElementById("YOURINPUT"), 4);
Живой пример js с textarea
и input
, демонстрирующий использование div из jQuery:
function setSelectionRange(input, selectionStart, selectionEnd) {
if (input.setSelectionRange) {
input.focus();
input.setSelectionRange(selectionStart, selectionEnd);
} else if (input.createTextRange) {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', selectionEnd);
range.moveStart('character', selectionStart);
range.select();
}
}
function setCaretToPos(input, pos) {
setSelectionRange(input, pos, pos);
}
$("#set-textarea").click(function() {
setCaretToPos($("#the-textarea")[0], 10)
});
$("#set-input").click(function() {
setCaretToPos($("#the-input")[0], 10);
});
По состоянию на js 2016 год протестирован и span работает в Chrome, Firefox, IE11, даже textfield IE8 (см. последний here; фрагменты webpage стека не поддерживают IE8).
javascript
jquery
html
textfield
2021-12-14T09:10:00+00:00
2022-10-28T07:20:15+00:00
Isabelle
Вопросы с похожей тематикой, как у вопроса:
jQuery Установить положение курсора в текстовой области
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.