Hoặc khá đơn giản, đặt tên cho thông số sự kiện và nó sẽ hoạt động trên tất cả các trình duyệt. Dưới đây là một ví dụ jQueryish:
$('#' + _aYearBindFlds[i]).on('keyup', function(event) {
if(! ignoreKey({szKeyCodeList: gvk_kcToIgnore, nKeyCode: event.keyCode })) this.value = this.value.replace(/\D/g, '');
});
Ví dụ này cho phép chữ số duy nhất được nhập cho các lĩnh vực năm (bên trong một cho mỗi bộ chọn loop), nơi ingoreKey() có một danh sách keyCode/mảng và so sánh keyCode sự kiện và xác định nếu nó phải được bỏ qua trước khi kích hoạt sự kiện liên kết.
Phím tôi thường nhập cho mặt nạ/khác là mũi tên, phím xóa lùi, tab, tùy thuộc vào ngữ cảnh/hành vi mong muốn. Bạn cũng có thể sử dụng event.which thay vì event.keyCode trong hầu hết các trình duyệt, ít nhất là khi bạn đang sử dụng jQuery phụ thuộc vào event.which để chuẩn hóa các sự kiện quan trọng và chuột.
Tôi không biết chắc chắn điều gì xảy ra dưới vỏ bọc trong động cơ js, nhưng dường như Mozilla FF tôn trọng phạm vi nghiêm ngặt hơn, trong đó, các trình duyệt khác có thể tự động giải quyết phạm vi window.event.keyCode sở hữu khi sự kiện không được chuyển giao một cách rõ ràng vào một chức năng hoặc đóng cửa.
Trong FF, bạn cũng có thể giải quyết sự kiện theo số window.event (như được minh họa trong một số ví dụ tại đây) sẽ hỗ trợ tư tưởng này.
Tuổi vấn đề cũ .. tuổi giải pháp cũ ... Wonder khi chúng tôi sẽ vượt qua các cuộc chiến tranh Browser! ;-) – Cerebrus