Помните, что фрейм - это совершенно новая HTML-страница с отдельным DOM, поэтому jQuery не включает ее в ваши привязки.
Так что вам нужно будет также связать эти документы:
function keyDownHandler(e) {
if(e.keyCode==27){
alert("escape pressed");
e.preventDefault();
}
}
for (var id in window.parent.frames)
$(window.parent.frames[id].document).keydown(keyDownHandler);
$(document).keydown(keyDownHandler);
Если вышеописанное не работает для вас из-за id
:
for (var i = 0; i < window.parent.frames.length; i ++) {
var frame = window.parent.frames[i].document;
frame.addEventListener("keydown",keyDownHandler, true);
}
Если вы хотите сослаться на все кадры, с верхнего уровня
for (var i = 0; i < top.window.frames.length; i ++) {
var frame = top.window.frames[i].document;
frame.addEventListener("keydown",keyDownHandler, true);
}