Современных браузеры теперь поддерживают input
события, которое будет срабатывать после того, как содержание было вставило
$('#myid').on('input', function() {
console.log($('#myid').val());
});
При вставке к вводу paste
события вызывается прежде, чем значение имеет время для обновления.
Одним из способов решения этой проблемы является отложить выборку значения, пока вход не успел обновить:
$('#myid').on('paste', function() {
setTimeout(function() {
console.log($('#myid').val());
}, 100);
});
Там также возможность получения данных непосредственно из буфера обмена, а не от значения входов, путем доступа к event.clipboardData
, однако эта методика экспериментальна, не поддерживается во всех браузерах и, на мой взгляд, более хакерская, чем использование события input
, или даже простой тайм-аут.
Существует решение уже [JQuery вход задвижка паста] [1], но это мне кажется не очень хорошо один [1]: HTTP : //stackoverflow.com/questions/686995/jquery-catch-paste-input – kingpin
Почему это происходит как комментарий ??? – kingpin