Tôi đang xử lý khóa trong tập lệnh java. Tôi đã thực hiện một số nghiên cứu và tôi muốn biết liệu tôi có hiểu biết chính xác về xử lý chính hay không.Xử lý khóa JavaScript và khả năng tương thích của trình duyệt
KeyDown/KeyUp Event Chìa khóa xuống và chìa khóa lên sự kiện được hỗ trợ bởi IE7 + và Firefox 3.5+ tôi đã không kiểm tra các phiên bản trước đó của các trình duyệt, nhưng tôi đoán rằng họ cũng ủng hộ những sự kiện này.
Có chính xác khi nói rằng mỗi phím trên bàn phím sẽ luôn có mã khóa.
charCode
giá trị charCode có sẵn trên keypress.Majority trong những chìa khóa sẽ có charcodes đại diện cho giá trị thực tế. Một số phím sẽ không có một mã số liên kết với chúng. Ví dụ. phím xóa lùi, xóa, phím mũi tên.
Tôi có đúng để nói rằng khi nhấn phím mã sẽ giống như mã khóa không?
Trình tự các sự kiện
- KeyDown
- KeyPress
- KeyUp
Đơn đặt hàng này khác với trình duyệt để trình duyệt? Ví dụ tôi có hai chức năng. Đầu tiên là ràng buộc với sự kiện KeyDown, thứ hai là ràng buộc với sự kiện KeyPress. Gọi một sự kiện KeyPress có nghĩa là sự kiện KeyDown cũng sẽ được gọi, khi tôi chỉ muốn một trong những sự kiện này hoạt động.
Cuối cùng tôi đã cân nhắc sử dụng các quy trình xử lý khóa khác nhau tùy thuộc vào trình duyệt phiên bản. Ví dụ:
- phiên bản Kiểm tra trình duyệt
- Nhận thói quen xử lý chủ chốt tùy thuộc vào phiên bản trình duyệt
này sẽ giới thiệu mã bổ sung, nhưng nên đơn giản hóa việc bảo trì. Ngoài ra, trong tương lai, khi tôi muốn cung cấp hỗ trợ cho một trình duyệt khác, tôi có thể chỉ cần thêm một thường trình khác và nó sẽ không ảnh hưởng đến thói quen xử lý ký tự hiện có.
Cho đến nay tôi đã được đọc http://www.quirksmode.org
Thats tuyệt vời, cảm ơn bạn. Đã qua các hàm dựng sẵn để xem liệu shift/ctr/alt etc có được giữ lại tại thời điểm sự kiện xảy ra hay không. Có nghĩa là tôi có thể loại bỏ vài dòng mã. –