2013-03-27 3 views
0

У меня есть родительская страница с iframe в ней. Внутри iframe есть один тег. На родительской странице можно запустить событие, когда этот тег нажат? Я знаю, что если я поместил javascript, который захватывает событие внутри iframe, тогда он будет работать, но для моего проекта мне нужно, чтобы родительская страница его захватила. Это мой код. Родитель Код:Захват кликов с родительской формой из iframe

<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
var $MyFrame= $("#myiframe"); 
$MyFrame.on("click", "a", function (e) { 
     alert("hello"); 
    }); 
</script> 
</head> 
<body> 
<iframe id="myiframe" height="3500" width="950" src="Iframe page" frameborder="0" style="display: block; margin: 10px auto;"></iframe> 
</body> 
</html> 

Это моя страница в IFRAME:

<html> 
<head> 
</head> 
<body> 
<a href="www.google.com">Click Me!</a> 
</body> 
</html> 

Возможно ли это?

ответ

0
var $MyFrame = $("#myiframe"); 

// You need to wait for the iFrame content to load first 
// So, that the click events work properly 
$MyFrame.load(function() { 
    var frameBody = $MyFrame.contents().find('body'); 
    frameBody.find('a').click(function() { 
     // here is the iframe a click callback 
     alert("hello"); 
    }); 
}); 
0

Не уверен, но это может помочь вам с .contents(), если исходный кадр является в то же происхождение:

var $MyFrame= $("#myiframe"); 
$MyFrame.contents().find('a').on("click", function (e) { 
    alert("hello"); 
}); 

и я заметил, что вы назначили id и вы ссылаетесь, что кадр с class.

0

ваш myiframe является id и не class .. использование ID селектор #

попробовать этот

var $MyFrame= $("#myiframe"); 
$MyFrame.on("click", "a", function (e) { 
    alert("hello"); 
}); 
Смежные вопросы