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");
之前已经在这里提出过这个问题。
我使用的方式是