2014-01-19 5 views

ответ

6

Я не могу найти встроенную функцию, чтобы проверить, что вы хотите.

Единственный «хакерский» способ, который я нашел, - проверить событие щелчка/keyup документа, и если модальный режим открыт, вызовите обратный вызов.

Код:

$(document).keyup(function (e) { 
    if (e.which == 27 && $('body').hasClass('modal-open')) { 
     console.log('esc') 
    } 
}) 

$(document).click(function (e) { 
    if (e.target === $('.modal-scrollable')[0] && $('body').hasClass('modal-open')) { 
     console.log('click') 
    } 
}) 

Демо: http://jsfiddle.net/IrvinDominin/7nnUq/

+0

работал как шарм – gables20

2

Только события, которые вы можете подключить к, по http://getbootstrap.com/javascript/#modals являются show, shown, hide и hidden. Кажется, что не существует различий, сделанных с помощью операции «нормальная скрытность» и действия «скрыть».

-1
$(document).click(function (e) { 
    if($(e.target).hasClass('modal-backdrop')){ 
    console.log("you clicked the backdrop!"); 
    } 
0

Самый простой и функциональный и способ в каждом прецедентного

$(document).click(function (e) { 
    setTimeout(function(){ 
     if (!$('body').hasClass('modal-open')) { 
      $("#myModal iframe").attr("src", $("#myModal iframe").attr("src")); 
     } 
    },1000); 
}); 
Смежные вопросы