Một câu hỏi kỳ lạ này sẽ được, nhưng ở đây đi. Tôi có một trang mà tôi hiển thị ảnh ở định dạng lớn, như hộp đèn. Khi nhấn ESC Tôi đóng trang và đưa người dùng trở lại trang nơi anh ta đến, hiển thị ảnh ở định dạng thông thường:Làm cách nào để phát hiện phím thoát khi nhấn trong video Youtube?
$(document).keyup(function(e) {
if (e.keyCode == 27) {
var closeURL = $('.close').attr('href');
window.location = closeURL;
}
});
Tuy nhiên, trên cùng một trang hộp đèn cũng là bảng điều khiển bên có thể chứa video Youtube được nhúng. Người dùng có thể phóng to video đó lên chế độ toàn màn hình bằng cách sử dụng các điều khiển video chuẩn của trình phát Youtube. Nếu người dùng nhấn ESC trong trường hợp đó, nó sẽ đóng video toàn màn hình và quay lại trang lightbox (hành vi trình phát nhúng chuẩn, đó là điều tôi muốn), tuy nhiên, sự kiện phím ESC sau đó cũng kích hoạt mã khóa của tôi. Hộp đèn, không mong muốn trong trường hợp cụ thể này.
Tôi đã tìm thấy điều này nhỏ gọn khi ở trong Chrome, nhưng không phải trong Firefox. Về cơ bản những gì tôi muốn là cho mã ESC của tôi không được kích hoạt khi nhấn ESC để đóng trình phát Youtube, nhưng nó chỉ kích hoạt khi người dùng nhấn ESC khi họ xem ảnh (chứ không phải video).
Tôi đã xem xét event.target để phân biệt giữa các trường hợp này nhưng không có may mắn. Bất kỳ ý tưởng?
Cập nhật: Tôi sẽ chấp nhận lỗi chỉ Chrome này ngay bây giờ. Vẫn mở cửa cho các giải pháp mặc dù.
Bạn có thể đăng HTML cho bảng điều khiển giữ các cầu thủ youtube –
Đây là một kỳ lạ như Chrome chỉ dường như cư xử rất lạ với phím nhấn. –
@JohnHartsock Suy nghĩ của tôi chính xác :) Tôi đã không mong đợi rằng phím ESC để kích hoạt sự kiện của tôi ở tất cả, như tôi nghĩ rằng nó đã xảy ra trong một khung nội tuyến. Bây giờ tôi đang bối rối như những gì các hành vi chính xác sẽ được, tất cả tôi biết là tôi không muốn sự kiện để bong bóng từ Youtube đến trang của tôi. – Ferdy