2009-10-13 3 views
0

Когда я фокусирую iframe и пытаюсь нажать клавишу esc, чтобы закрыть окно, ничего не происходит. Я предполагаю, что это связано с тем, что сфокусированный iframe не подписан на это событие. Есть ли у кого-нибудь идеи, как я могу связать это событие с iframe без необходимости вручную редактировать каждую страницу, содержащуюся в толстоблоке?Thickbox не закрывается при нажатии клавиши Esc при фокусировке iframe.

ответ

1

Это решение работает в Internet Explorer, который, оказывается, является единственным браузером, используемым моей клиентской базой, однако я бы предпочел решение, которое по крайней мере работает в firefox.

Я добавляю это по строке 245 в исходном источнике толстой кишки.

0

Вы используете Flash в iframe? Это может быть кража фокуса клавиатуры.

+0

Неа, и я могу воссоздать проблему в Firefox, Chrome, то есть. – Dave

+0

Есть ли способ закрыть iframe, даже если он работает, например, видео? –

0

Это не работает по соображениям безопасности. Ни одно из событий, происходящих внутри iframe, не может попасть в содержащийся документ.

0

Я мог бы решить эту проблему, заменив строку 245 файла thickbox.js.

Просто заменить:

if(!params['modal']){ 

с

if(params['modal'] != "true"){ 
0

просто добавьте это в коде

$('#TB_iframeContent').ready(function(){ 

    setTimeout(function(){ 
     $(window).keyup(function(e){ 
        if(e.keyCode == 27){ 
        $('#TB_closeWindowButton').click(); 
      } 
      }); 
     }, 50); 

}); 
Смежные вопросы