Tôi có một hộp văn bản nơi người dùng chỉ có thể nhập dữ liệu số. Tôi đang sử dụng các chức năng sau trên KeyUp của hộp văn bản:Sự chậm trễ sự kiện keyup trên đầu vào của người dùng
$('#ssn').keyup(function() {
var val = this.value.replace(/\D/g, '');
this.value = val;
});
Vấn đề tôi đang chạy vào là lag khi người sử dụng phím lên trên một phím hạn chế, hiển thị ký tự cho một khoảnh khắc trước khi nó thay thế bằng chuỗi rỗng. Và giữ một phím sẽ hiển thị một dòng các ký tự trong hộp cho đến khi khóa được giải phóng. Có cách nào để ngăn chặn hành vi này không? Tôi đã thử các sự kiện bàn phím khác nhau như phím tắt hoặc nhấn phím và chúng dường như không hoạt động tốt hơn. Đây là một fiddle của vấn đề: https://jsfiddle.net/oxpy96g9/
các 'lag' là không thể tránh khỏi là 'Keyu Sự kiện p' không kích hoạt cho đến khi khóa được giải phóng và giá trị được thêm vào trường nhập. –
1. Một sự suy giảm được giới thiệu thông qua jQuery 2. Một sự suy giảm được giới thiệu thông qua khai báo biến lặp lại 3. Sự chậm lại được giới thiệu thông qua việc kích hoạt máy JavaScript Regex 4. Mã của bạn chạy SAU KHI người dùng nhả phím, trông giống như một sự chậm lại. Tất cả trong tất cả, bạn đã viết một mớ hỗn độn. –
Hãy thử nghe sự kiện 'đầu vào' thay vào đó ...' $ ('# ssn'). On ('input', function() {...}); ' –