Trình duyệt hiện tại bây giờ hỗ trợ sự kiện input
, mà sẽ cháy sau khi nội dung đã được dán
$('#myid').on('input', function() {
console.log($('#myid').val());
});
Khi dán vào một đầu vào sự kiện paste
là bắn trước khi giá trị có thời gian để cập nhật.
Một cách để giải quyết này là để trì hoãn quá trình tìm nạp giá trị cho đến khi đầu vào đã có thời gian để cập nhật:
$('#myid').on('paste', function() {
setTimeout(function() {
console.log($('#myid').val());
}, 100);
});
Ngoài ra còn có khả năng nhận được các dữ liệu trực tiếp từ clipboard chứ không phải từ giá trị đầu vào, bằng cách truy cập event.clipboardData
, tuy nhiên, kỹ thuật đó là thử nghiệm, không được hỗ trợ trong tất cả các trình duyệt và theo ý kiến của tôi, việc sử dụng sự kiện input
trở nên khó khăn hơn hoặc thậm chí là thời gian chờ đơn giản.
Có một giải pháp đã được [jquery bắt dán đầu vào] [1] nhưng điều đó dường như tôi không phải là rất tốt một [1]: http : //stackoverflow.com/questions/686995/jquery-catch-paste-input – kingpin
Tại sao điều này là bình luận ??? – kingpin