有什么理由说这不起作用:
父文件
$(document).ready(function($) {
$('.upload-media').click(function(){
if( $(this).parent().find('iframe')[0] )
return false;
$(this).parent().append('<iframe class="media-iframe" src="'+this.href+'"></iframe>');
var ifr = $(this).parent().find('iframe');
$(document).bind('closeFrame', function(){ alert("event"); });
return false;
});
});
的iFrame
$(document).ready(function() {
$("#media-frame-close").click(function(){
window.parent.$(window.parent.document).trigger('closeFrame');
return false;
});
});
看起来非常直接,我已经尝试了父母。而不是window.parent,这也不起作用:(
答案 0 :(得分:2)
我无法找到一种方法来访问文档的jQuery触发器,但是如果你执行以下操作就可以实现同样的目的。
$(document).ready(function(){
$('.frame').click(function(){
if( $(this).parent().find('iframe')[0] )
{
return false;
}
$(this).parent().append('<iframe class="media-iframe" src="'+this.href+'"></iframe>');
var ifr = $(this).parent().find('iframe');
// Adding function directly to the document rather than using jQuery.bind/trigger
document.closeFrame = function(){ alert("event"); };
return false;
});
});
$(document).ready(function(){
$("#media-frame-close").click(function(){
window.parent.document.closeFrame();
return false;
});
});
当然这污染了文档对象,但它会做你想要的。
答案 1 :(得分:1)
top.document在iframe中运行良好(假设iframe也有jQuery)
$('#ID', top.document).someFunction();