我可能不完全理解这个问题,但似乎你想要:
- 向上、向下、空间等only仅当游戏窗口具有焦点时才转到游戏窗口。
- 向上、向下、空格等可在获得焦点时转到评论框。
- 向上、向下、空格等在获得焦点时转到主窗口。
如果您什么都不做,#2 和 #3 就会自动发生。所以基本上你想要#1。我不明白为什么你需要在主窗口上添加任何代码。
在我的测试中,这适用于 Chrome、Opera、FF、IE9、IE8、IE7。
主窗口
Demo: http://jsfiddle.net/ThinkingStiff/Dp5vK/ http://jsfiddle.net/ThinkingStiff/Dp5vK/
HTML:
<iframe id="game" src="http://jsfiddle.net/ThinkingStiff/dtmxy/show/"></iframe>
<textarea id="comment-box"></textarea>
CSS:
#game {
border: 1px solid red;
display: block;
height: 100px;
width: 200px;
}
#comment-box {
height: 100px;
width: 200px;
}
body {
height: 1000px;
width: 1000px;
}
游戏窗口(iframe)
Demo: http://jsfiddle.net/ThinkingStiff/dtmxy/ http://jsfiddle.net/ThinkingStiff/dtmxy/
Script:
$( document ).bind( 'keydown', function ( event ) {
var keys = [32, 33, 34, 35, 36, 37, 38, 39, 40, 44];
if( keys.indexOf( event.which ) > -1 ) {
event.preventDefault();
event.stopPropagation();
};
} );