2015-03-19 4 views
0

Скрипт ниже определяет щелчок на iframe и возвращает сообщение.
Я хочу, чтобы iframe автоматически закрывался при обнаружении щелчка.Как закрыть iframe при нажатии?

\t \t \t $(window).on('blur',function(e) {  
 
\t \t \t \t if($(this).data('mouseIn') != 'yes')return; 
 
\t \t \t \t $('iframe').filter(function(){ 
 
\t \t \t \t \t return $(this).data('mouseIn') == 'yes'; 
 
\t \t \t \t }).trigger('iframeclick');  
 
\t \t \t }); 
 

 
\t \t \t $(window).mouseenter(function(){ 
 
\t \t \t \t $(this).data('mouseIn', 'yes'); 
 
\t \t \t }).mouseleave(function(){ 
 
\t \t \t \t $(this).data('mouseIn', 'no'); 
 
\t \t \t }); 
 

 
\t \t \t $('iframe').mouseenter(function(){ 
 
\t \t \t \t $(this).data('mouseIn', 'yes'); 
 
\t \t \t \t $(window).data('mouseIn', 'yes'); 
 
\t \t \t }).mouseleave(function(){ 
 
\t \t \t \t $(this).data('mouseIn', null); 
 
\t \t \t }); 
 

 
\t \t \t $('iframe').on('iframeclick', function(){ 
 
\t \t \t \t console.log('Clicked inside iframe'); 
 
\t \t \t \t $('#result').text('Clicked inside iframe'); 
 
\t \t \t }); 
 
\t \t \t $(window).on('click', function(){ 
 
\t \t \t \t console.log('Clicked inside window'); 
 
\t \t \t \t $('#result').text('Clicked inside window'); 
 
\t \t \t }).blur(function(){ 
 
\t \t \t \t console.log('window blur'); 
 
\t \t \t }); 
 

 
\t \t \t $('<input type="text" style="position:absolute;opacity:0;height:0px;width:0px;"/>').appendTo(document.body).blur(function(){ 
 
\t \t \t \t \t $(window).trigger('blur'); 
 
\t \t \t \t }).focus();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 

 
<iframe width="350" height="250" src="http://omarjackman.com/about/" ></iframe> 
 
<div id="result"></div>

ответ

1
$('iframe').on('iframeclick', function(){ 
      $(this).hide() // Or remove() if you dont want it anymore in the DOM 
      $('#result').text('Clicked inside iframe'); 
     }); 
Смежные вопросы