2010-08-18 2 views
2

У меня есть div Я хочу, чтобы скрыть, когда я нажимаю F2 ... Все работает отлично, за исключением того, когда фокус находится на IFRAME ниже этого Div ...OnKeyUp событие не работает, когда сосредоточены на IFRAME

<script> 
document.onkeyup = KeyCheck; 

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

</script> 

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

ответ

1

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

1
//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; 

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

Смежные вопросы