Thickbox не закрывается при нажатии клавиши Esc при фокусировке фрейма - PullRequest
0 голосов
/ 14 октября 2009

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

Ответы [ 5 ]

1 голос
/ 14 октября 2009

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

$("#TB_iframeContent").ready(function(){
    setTimeout(function(){
        $('#TB_iframeContent').contents().find('body').keyup(function(e){
            if(e.keyCode == 27){
                tb_remove();
            }
        });
    }, 50);
  });

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

0 голосов
/ 19 марта 2014

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

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

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

});
0 голосов
/ 22 декабря 2011

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

Только что заменено:

if(!params['modal']){

с

if(params['modal'] != "true"){ 
0 голосов
/ 14 октября 2009

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

0 голосов
/ 14 октября 2009

Работаете ли вы Flash в iframe? Это может быть кража вашего фокуса клавиатуры.

...