Tôi đang cố gắng tạo một giao diện điều khiển như ứng dụng, vì vậy tôi bắt tất cả các phím trên cửa sổ và thực hiện các công cụ liên quan với chúng (không quan trọng). Vấn đề là ở backspace. Tôi có đoạn mã sau:Bắt Backspace trên Chrome & Firefox là khác nhau
$(window).bind("keypress",function(e){
var code = e.keyCode || e.which;
if (code == 8) {
a = $("#console").html();
$("#console").html(a.substring(0,a.length-1));
currentCommand = currentCommand.substring(0,currentCommand.length-1);
e.preventDefault();
}
Tuy nhiên, trong Firefox, nội dung của #console
bị xóa nhưng Chrome không thực thi mã trên. Tôi cần một giải pháp tương thích trình duyệt chéo. Tôi đang thiếu gì?
ADDITION:
Nếu tôi sử dụng KeyDown/KeyUp thay vì bấm phím, tôi không thể để phát hiện nếu characeter là 'A' hoặc 'a' nó luôn luôn trả về 'A'.
có thể trùng lặp của [Javascript e.keyCode không bắt Backspace/Del trong IE] (http://stackoverflow.com/questions/4084715/javascript-e-keycode-doesnt-catch-backspace -del-in-ie) – Keelan
Có, không phải là một bản sao chính xác, nhưng câu hỏi được trả lời ở đó. – Keelan