У меня есть div, который я хочу скрыть, когда нажимаю F2 ... Все работает нормально, кроме случаев, когда фокус находится на iframe ниже этого div ...

<script> 
document.onkeyup = KeyCheck;

function KeyCheck(){
   var KeyID = event.keyCode;
   switch(KeyID)
{ case 113:
   document.getElementById("test").style.display = "none" }
break;
}

</script>

Но, как я уже сказал, когда я сфокусирован на iframe, этот фрагмент скрипта не имеет никакого эффекта ... Где я ошибаюсь?

2
David 18 Авг 2010 в 20:40

2 ответа

Лучший ответ

Что ж, iframe отображает другой документ HTML. Это означает, что внутри элемента iframe существует другая структура DOM, полностью отличная от той, что находится вне его. Итак, вопрос в том, действительно ли вам нужно использовать фреймы? Есть и другие способы отображать контент в стиле iframe.

1
Ventus 18 Авг 2010 в 16:46
//put this inside your frame
function keyPressHandler(e){
if(!e) e = self.window.event;
if(e.keyCode === 39){
        //do something awesome
}
}
top.frames.myframe.document.onkeyup = keyPressHandler;

Это работает с набором фреймов, я еще не тестировал его с помощью iframe

1
Jtan 25 Ноя 2010 в 19:57