2011-01-25 28 views
6

Tôi sử dụng thông tin sau để hạn chế người dùng chỉ nhập một số ký tự. Khi tôi nhấn tab, con trỏ không trỏ đến điều khiển tiếp theo (trong Mozilla). Nhưng nó hoạt động tốt trong IE.Chụp khóa tab bằng JavaScript trong Firefox

// Restricts user to enter characters other than a to z, A to Z and white space() 
// Rauf K. 06.11.2010 
$("input:text.characters_only").keypress(function(e) { 
if (!((e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122) || e.which == 32 || e.which == 8 || e.which == 9)) { 
     return false; 
    } 
}); 

Trả lời

8

Tôi khuyên bạn nên thử e.keyCode thay vì e.which. Dưới đây là một liên kết SO mô tả một phương pháp tốt để nhận cuộc đình công chìa khóa vào một biến duy nhất không phân biệt: jQuery Event Keypress: Which key was pressed?

+3

Không, 'keyCode' là tài sản sai, vì jQuery bình thường hóa thuộc tính 'which'. Hầu hết các câu trả lời về câu hỏi mà bạn liên kết đều vô vọng phức tạp hoặc gây hiểu lầm. –

+0

@Tim Down - Tôi đã không đề xuất tất cả các câu trả lời, chỉ là câu trả lời được chấp nhận. –

+0

Ồ. e.keyCode hoạt động tốt trong Mozilla :) – Rauf

5

Có lẽ nếu bạn bắt đầu với cái gì đó như:

if (e.keyCode === 9) { // TAB 
    return true; 
} 
Các vấn đề liên quan