CẬP NHẬT để làm rõ và ví dụ
ví dụ: http://jsfiddle.net/pxfunc/5kpeJ/
Phương pháp 1. input
sự kiện
Trong các trình duyệt hiện đại sử dụng input
sự kiện này. Sự kiện này sẽ kích hoạt khi người dùng đang gõ vào trường văn bản, dán, hoàn tác, về cơ bản bất cứ lúc nào giá trị thay đổi từ giá trị này sang giá trị khác.
Trong jQuery làm điều đó như thế này
$('#someInput').bind('input', function() {
$(this).val() // get the current value of the input field.
});
bắt đầu với jQuery 1.7, thay thế bind
bằng on
:
$('#someInput').on('input', function() {
$(this).val() // get the current value of the input field.
});
Phương pháp 2. keyup
sự kiện
Đối với các trình duyệt cũ hơn, hãy sử dụng keyup
sự kiện này (sự kiện này sẽ kích hoạt khi một phím trên bàn phím được phát hành, sự kiện này có thể mang lại một loại dương tính giả vì khi "w" được giải phóng, giá trị đầu vào bị thay đổi và cả khi keyup
sự kiện kích hoạt Phím "shift" được giải phóng các keyup
sự kiện kích hoạt nhưng không có thay đổi nào được thực hiện đối với đầu vào.). Ngoài ra phương pháp này không kích hoạt nếu người dùng nhấp chuột phải và dán từ menu ngữ cảnh:
$('#someInput').keyup(function() {
$(this).val() // get the current value of the input field.
});
Phương pháp 3. Hẹn giờ ( setInterval
hoặc setTimeout
)
Để giải quyết các giới hạn của keyup
bạn, bạn có thể đặt bộ hẹn giờ để kiểm tra định kỳ giá trị của đầu vào để xác định thay đổi giá trị. Bạn có thể sử dụng setInterval
hoặc setTimeout
để làm kiểm tra hẹn giờ này. Xem câu trả lời được đánh dấu cho câu hỏi SO này: sự kiện thay đổi hộp văn bản jQuery hoặc xem fiddle cho một ví dụ hoạt động bằng cách sử dụng focus
và blur
các sự kiện để bắt đầu và dừng bộ hẹn giờ cho một trường đầu vào cụ thể