2012-06-08 24 views
6

Tôi đang làm việc trên trò chơi dựa trên canvas và đang sử dụng window.addEventListener() để đính kèm các sự kiện keyupkeydown trên toàn cầu. Điều này hoạt động khi xem trang bình thường, nhưng khi nhúng trang đó dưới dạng khung nội tuyến; nó không nhận được các sự kiện keyup và keydown. Có cách nào tốt hơn tôi có thể làm điều này không?catch-all sự kiện keyup/keydown trong khung nội tuyến?

Trả lời

1

Có vẻ như bạn chỉ có thể thực hiện var realWindow = window.parent || window; và sử dụng addEventListener thay vào đó realWindow.

+1

Điều này sẽ chỉ hoạt động nếu trang bên ngoài nhúng khung đến từ cùng một tên miền (trang web). –

1

Bạn không thể, trừ khi khung đã được lấy nét.

Những gì bạn có thể làm là tạo ra một KeyDown trên cửa sổ bên ngoài tập trung các iframe, hoặc bằng cách nào đó luôn luôn tập trung các iframe, hoặc tập trung các iframe theo mặc định (có thể là đủ tốt, không chắc chắn những gì bạn đang làm)

Nhưng để tắt cửa sổ để bật bất kỳ cửa sổ nào (khung hay không) mà khung cần lấy nét.

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