2013-02-26 2 views
0

Я использую simplemodal от http://www.ericmmartin.com/projects/simplemodal/.Simplemodal - iframe не будет закрыт

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу закрыть iframe, когда он открыт.

<script type="text/javascript"> 

// Route Which Page 

$.modal('<iframe src="<?= $src ?>" height="230" width="550" style="border:0">', { 
    closeHTML:"<a href='#' title='Close' class='modal-close'>x</a>", 
    containerCss:{ 
     backgroundColor:"#eee", 
     borderColor:"#ddd", 
     height:230, 
     padding:0, 
     width:550 
    }, 
    overlayClose:false 
}); 

    /* When #btnClose is clicked, close the modal */  
    $('#disagree').on("click", function(event){ 
     parent.$.modal.close(); 
    }); 

</script> 

Восстанавливает и отлично работает, просто не может получить всплывающее окно для закрытия! Я использовал все идеи Google просто не близко. Я могу заставить его закрыть, что он мерцает, а затем открывает второй iframe.

Я использовал следующий код, чтобы закрыть:

/* When #btnClose is clicked, close the modal */  
$('#disagree').on("click", function(event){ 
    $.modal.close(); 
}); 


/* When #btnClose is clicked, close the modal */  
$('#disagree').on("click", function(event){ 
    parent.$.modal.close(); 
}); 

<a href="#" title="Close" class="modal-close simplemodal-close">x</a> 

Фактические параметры модальных:

closeHTML:"<a href='#' title='Close' class='modal-close'>x</a>", 

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

Любые идеи или помощь были бы замечательными!

ответ

0

Глядя на простой демонстрации, которая выскакивает, а затем, глядя на данные события клика, используемых в тесной связи, я нашел это:

функции (б) {b.preventDefault(); .close()}

это данные от закрытия ahref <a class="modalCloseImg simplemodal-close" title="Close" id="modalId"></a> по этой ссылке Basic Modal Dialog

Можете ли вы тогда не попробовать это:

$('#disagree').on("click", function(event) 
    { 
    $('#modalId').trigger('click'); 
    //OR: 
    $('.modalCloseImg').trigger('click'); 
    }); 

«modalId» - это всего лишь идентификатор, который я дал тому, что указано выше ссылки ahref. В качестве альтернативы вы можете сделать: $('#IdOfiFrame').remove();

2

Добавить событие в вашей ссылке в IFRAME

$('.modal-close').click(function() { 
     parent.$.modal.close(); 
    }); 
+0

Это работает для меня, этот код помещается на странице IFrame. Никаких других вызовов в js не требуется. – Mikeys4u