iFrame中新页面加载时的jQuery事件

我正在尝试在iframe加载新页面时触发的父级上设置一个事件(可能是通过用户点击链接)。

HTML:

 

JS:

 $(document).ready(function() { $('iframe#posts').live('load', function() { console.log('live'); }); }); 

问题是console.log()语句永远不会被触发。 我怎样才能实现我想做的事情?

我最好的猜测是,iframe上的’load’事件在文档上的’ready’事件之前被触发,这意味着处理程序安装得太晚了。 您可能必须在iframe元素本身中使用旧式的onload

或者您可以将$('iframe#posts').live()片段放在顶级脚本中,而不是放在就绪处理程序中。

解决问题的最简单方法是使用jQuery创建iframe。

 $(document).ready(function() { $("").attr({ id: "posts", src: "edit.php" }).load(function() { console.log('live'); }).appendTo("body"); 

之前已经在这里提出过这个问题。

我使用的方式是