jQuery Установить положение курсора в текстовой области

Итак, вкратце; невозможно перейти от ледника к стандарту.

Amazon S3 поддерживает следующие переходы жизненного цикла между классами хранения с использованием конфигурации жизненного цикла:

Вы можете перейти из класса хранения STANDARD в любой другой класс хранения.

Вы можете перейти с любого класса хранения на класс хранения GLACIER.

Вы можете перейти от класса хранения STANDARD_IA к классам хранения INTELLIGENT_TIERING или ONEZONE_IA.

Вы можете перейти от класса хранения INTELLIGENT_TIERING к классу хранения ONEZONE_IA.

Следующие переходы жизненного цикла не поддерживаются:

Нельзя перейти из какого-либо класса хранения в класс хранения STANDARD.

Нельзя перейти из какого-либо класса хранения в класс хранения REDUCED_REDUNDANCY.

Нельзя перейти от класса хранения INTELLIGENT_TIERING к классу хранения STANDARD_IA.

Нельзя перейти с класса хранения ONEZONE_IA на классы хранения STANDARD_IA или INTELLIGENT_TIERING.

Нельзя перейти с класса хранения GLACIER на любой другой класс хранения.

blockquote>

Подробнее о жизненных циклах объектов s3 -> документы

431
задан 17.05.2020, 02:29

1 ответ

У меня есть две функции:

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);
}

Затем можно использовать setCaretToPos как это:

setCaretToPos(document.getElementById("YOURINPUT"), 4);

Живой пример и с textarea и с input, показывая использование из 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);
});
<textarea id="the-textarea" cols="40" rows="4">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</textarea>
<br><input type="button" id="set-textarea" value="Set in textarea">
<br><input id="the-input" type="text" size="40" value="Lorem ipsum dolor sit amet, consectetur adipiscing elit">
<br><input type="button" id="set-input" value="Set in input">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

По состоянию на 2016, протестированный и работающий над Chrome, Firefox, IE11, даже IE8 (см. что в последний раз здесь ; Отрывки Стека не поддерживают IE8).

252
ответ дан 17.05.2020, 02:31
  • 1
    Отредактированный теперь. Неправильно отправленный! Хорошая выгода. Вы правы. – Easwaramoorthy K 16.07.2012, 06:14

Теги

Похожие вопросы