Обнаружение пасты на поле ввода
У меня есть поле ввода. При загрузке страницы я использую мышь для ввода правой кнопкой мыши и выбираю вставить из контекстного меню.
когда текст вставлен, какое событие следует использовать для немедленного уведомления текста, как только происходит паста?
Я использую "входную пасту", но не работаю в IE
Ответы
Ответ 1
Вы можете связать эти события следующим образом:
$(document).ready(function() {
$("#Text1").bind('copy', function(e) {
alert('copying text!');
});
$("#Text1").bind('paste', function(e) {
alert('pasting text!');
});
$("#Text1").bind('cut', function(e) {
alert('cut text!');
});
});
Ответ 2
Взлом, который будет работать большую часть времени, - это подключить элемент управления onchange
, одновременно сохраняя исходный текст управления в отдельной переменной. Каждый раз, когда длина нового текста длиннее исходного текста более чем на один символ, вы можете предположить, что что-то было вставлено. Очевидно, что это не сработает, если кто-то вставлен в односимвольную строку, но люди не делайте это очень часто.
Ответ 3
Теперь есть лучший способ. Все же не все браузеры поддерживают этот 2011 год, но это изменит
обработчик событий oninput
исправления oninput
больше исправлений
и другие решения jQuery для кроссбраузеров
Ответ 4
Было установлено действие с setInterval (функция javascript), которая проверяет каждые 200 мс содержимое ввода. Если он изменился, произошло прошлое или ввод.