Как получить новое значение поля ввода текстовой области при вставке?Html

Программисты Html
Ответить
Anonymous
 Как получить новое значение поля ввода текстовой области при вставке?

Сообщение Anonymous »

Я вижу, что когда я пытаюсь прочитать значение из поля textarea при вызове функции onpaste, я получаю старое значение поля (то, что было до операции вставки), а не новое значение (то, что после операции вставки).

Вот демонстрация этого поведения: http://jsfiddle.net/qsDnr/

Следует копия кода:

Код: Выделить всё



On Paste

var textareaElement;
var previewElement;

function update()
{
previewElement.innerHTML = textareaElement.value;
}

window.onload = function() {
textareaElement = document.getElementById('textarea');
previewElement = document.getElementById('preview');
textareaElement.onpaste = update
}








Вы можете проверить это поведение, выполнив следующие действия.
  • Скопируйте строку foo в буфер обмена.
  • Щелкните правой кнопкой мыши по текстовому полю и выберите «Вставить». В элементе div ничего не отображается.
  • Щелкните правой кнопкой мыши поле текстовой области и снова выберите «Вставить». foo появляется в элементе div.
Поскольку я хочу, чтобы элемент div всегда показывал то, что было обновлено в элементе textarea с помощью операции вставки, желаемый результат — это foo и foo foo на шаге 2 и шаге 3 соответственно.

Один из способов, которым мне удалось получить желаемый результат, — это задержать вызов функции update() с помощью window.setTimeout(), поэтому вместо

Код: Выделить всё

textareaElement.onpaste = update
У меня есть

Код: Выделить всё

textareaElement.onpaste = function() {
window.setTimeout(update, 100);
};
на этот раз (демо: http://jsfiddle.net/cwpLS/). Это делает то, что я хочу. Однако это больше похоже на обходной путь, а не на простой способ сделать то, что я хочу. Я хотел бы знать, есть ли альтернативный или лучший способ сделать это.

Подробнее здесь: https://stackoverflow.com/questions/985 ... d-on-paste
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»