Đầu tiên xin lỗi vì anh nghèo của tôi, từ khóa "+" trở thành một selector css, không phải là một người biết lắng nghe sự kiện bàn phím. (keydown, keypress, keyup)
Trong ngữ cảnh này bạn không cần bộ chọn css để phát hiện khóa, ma thuật này tương ứng với một sự kiện, vì lý do này có chức năng nhận sự kiện ... function (event) hoặc chức năng (e), thông số đó chứa mọi thứ bạn cần.
Bây giờ sự kiện indetifies phím bằng tài sản "mà" hoặc tài sản "keyCode", đây là một loại phức tạp, bởi vì Mà và keycode, phụ thuộc của sự hỗ trợ trình duyệt
Còn bây giờ có lẽ phải kiểm tra sự kiện keydown trong trang jquery, quan sát dòng 41, và kết quả khi bạn nhấn một phím, đặc biệt là mã khóa và các thuộc tính đó.
Cuối cùng mục tiêu là phát hiện khóa ctrl đồng thời với một khóa khác, điều quan trọng là khóa đặc biệt và số đó phải được thay thế bằng ctrlKey và đánh giá số đó bằng thuộc tính hoặc mã khóa.
Jquery liên kết đến KeyDown và gương sáng mà làm cho bạn biết những gì phím số (mà hay keycode) bạn đang nhấn là here
Mã của bạn cuối cùng như thế này
$(document).bind('keydown', function (e) {
if((e.crtlKey && (e.which==49)) || (e.crtlKey && (e.which==97)) ){
alert('You found the hotkey ctrl+1!');
}
});
Số 49 trong các mã tương ứng tại số = "1" trong phần bàn phím chữ cái.
Số 97 tương ứng với số = "1" trong phần bàn phím số
Nguồn
2017-02-17 14:31:34
Bạn đang sử dụng một số loại plugin cho điều đó? Ràng buộc là '.bind (eventType [, eventData], handler)' không có bộ lọc nào cho các phím được nhấn. – epascarello
Còn các phím còn lại trong bàn phím của bạn thì sao? Chúng không kích hoạt cảnh báo của bạn()? –
@epascarello Dường như họ đang sử dụng (hoặc nghĩ rằng họ đang sử dụng) plugin jQuery Hotkeys https://github.com/jeresig/jquery.hotkeys/blob/master/README.md –