Mặc dù tôi biết rằng khóa chụp do e.keyCode
so với e.charCode
không phải là nhỏ, nhưng tôi nghĩ jQuery sẽ có thể bình thường hóa hầu hết những mâu thuẫn đó.Mã khóa phù hợp cho `#`
Tuy nhiên trong khi answering this question Tôi phát hiện ra rằng ký tự #
dường như có các mã phím rất không nhất quán (và dĩ nhiên điều này cũng đúng đối với một số mã khác, chủ yếu phụ thuộc vào trình duyệt và keyboardlayout mà tôi đoán).
Chrome và IE mang lại 191, Firefox 163 trên máy tính của tôi, một người dùng khác đã báo cáo 222. Chromes window.event
thậm chí được báo cáo U+00BF
là keyIdentifier - theo bảng unicode phải là ¿
.
Bạn có biết bất kỳ cách nào phù hợp để xác định biểu tượng như như #
với mã phím không phù hợp mà không làm một cái gì đó khó chịu như sau:
$('input').keydown(function (e) {
if (e.which == 191 || e.which == 163 || e.which == 222){
// hope you got the right key
e.preventDefault();
}
});
Uhm ... '#' là một chìa khóa '3' với 'shift' bổ nghĩa. Không có khóa '#' ở tất cả – zerkms
@zerkms Tôi đoán điều đó phụ thuộc vào bố cục bàn phím của bạn :-p – Christoph
vẫn còn - đó là ** phím **. Không có phím '#' – zerkms