Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

catch-all keyup/keydown events in iframe?

I'm working on a canvas-based game and am using window.addEventListener() to attach keyup and keydown events globally. This works in when viewing the page normally, but when embedding it as an iframe; it doesn't get the keyup and keydown events. Is there a better way I can do this?

like image 896
Stephen Belanger Avatar asked Jun 08 '12 02:06

Stephen Belanger


2 Answers

You can't, not unless the frame has focus.

What you can do is make a keydown on the outer window focus the iframe, or always somehow focus the iframe, or focus the iframe by default (might be good enough, not sure what you're doing)

But for the window keydown to fire on any window (frame or not) that frame needs focus.

like image 113
Simon Sarris Avatar answered Nov 10 '22 17:11

Simon Sarris


It seems you can just do var realWindow = window.parent || window; and use addEventListener on realWindow instead.

like image 36
Stephen Belanger Avatar answered Nov 10 '22 19:11

Stephen Belanger