我有一个iframe里面有somwhere的视频链接。 我想在点击iframe时弹出一个div。
<a href="javascript:alert();" class="iframelink">
<iframe src="http://www.youtube.com/embed/zDNXx-PgU3k" width="213" height="195" frameborder="0"></iframe>
</a>
$('.iframelink').click(function(){
alert('iframe clicked. Open popup.');
})
如何?但因为实际上是另一个页面javascript无法捕获点击事件。 有什么办法吗?
答案 0 :(得分:2)
由于您必须在iframe内的链接上附加处理程序,因此您应该在iframe中找到它。试试这个。
$('a.iframelink iframe').contents()//Will get iframe contents
.find('videoLinkSelector')//Pass the required selector
.click(function(){
//Write your code here
});
contents()
参考:http://api.jquery.com/contents/
请注意,只有当iframe资源与其父页面位于同一域中时,才能访问它。
答案 1 :(得分:1)
除了相当顽皮并在IFRAME(点击顶部)的顶部放置一个隐形元素之外,我认为你运气不好,因为我认为IFRAME中的事件根本没有冒泡。在这里小心 - 你处于危险的境地。塔尔是怪物。
P.S。一个选项是让IFRAME指向你网站上的一个页面,你可以添加一个onclick事件 - 然后在父元素上激活一个函数/事件 - 但是你仍然会失去运气它点击了我认为的FLASH对象。
答案 2 :(得分:1)
您可以尝试利用YouTube API。
http://code.google.com/apis/youtube/js_api_reference.html#Adding_event_listener
虽然它有限,但你可以做你需要的。