2010-12-15 27 views
22

Tôi đang cố gắng ghi đè trình duyệt lưu tức tắt (cntrl + s) để cung cấp chức năng lưu trong ứng dụng web của tôi, tôi đang sử dụng google chrome ... listner để quan sát mã khóa nhưng khi hai phím ie (cntrl + s) được nhấn đồng thời, keycode của s không bao giờ được trả về trong đối tượng sự kiện.Điều khiển ghi đè + s (lưu chức năng) trong trình duyệt

Cảm ơn trước

Trax

Trả lời

31

Bạn nhận được hai sự kiện KeyDown: Đầu tiên là cho các phím điều khiển, và thứ hai là cho chữ với cờ modifier bật. Dưới đây là cách bạn nghe một khóa có công cụ sửa đổi được nhấn:

document.addEventListener("keydown", function(e) { 
    if (e.keyCode == 83 && (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey)) { 
    e.preventDefault(); 
    // Process event... 
    } 
}, false); 

Lấy trang từ Google Documents, nó sử dụng Cmd-S trên máy Mac và Ctrl-S trên các nền tảng khác.

Các vấn đề liên quan