无法获取$(window).load()来处理加载到div中的页面

时间:2012-12-10 02:45:58

标签: javascript jquery html load onload

原谅我,我是新手。

我有一些.html文件的集合,并且根据选择的文件,我将它加载到页面上的div中,有点像iframe。我可以使这一切工作正常,但我的问题是窗口onload事件。我可以在主页面上运行onload,但是加载到主页面div中的页面上包含的onload事件不起作用,无论是将其写入.html文件还是从外部文件调用它。 $(document).ready有效,但我正在努力确保在其他所有内容之后加载javascript。

基本上我不知道如何在加载到div中的页面上运行窗口onload。

非常感谢任何帮助。

编辑:这会将其中一个外部页面加载到主页面中:

$('div#socket').load('pages/' + thisTab + '.html');

其中thisTab将是其中一个文件的名称,也是所选标签的名称。

这样的东西会出现在其中一个加载页面的底部:

<script type="text/javascript">
$(document).ready(function(){
alert('1');
});

$(window).load(function(){
alert('2');
});
$(window).bind("load", function() {
   alert('3');
});
</script>

我只收到'1'被警告。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,那么在将一些内容加载到主页面时(使用ajax),您正在寻找执行某些选项的选项。您可以使用ajax加载方法的回调函数。

$("#DivInsideMainPage").load("remotepage.html",function(){
   alert("This will execute only after loading the partial content") 
   //Execute the fancy code you want here    
});

答案 1 :(得分:0)

在加载的页面演示中使用脚本的方法:

在加载页面中:

<script id="loader_script" type="text/javascript">
$(document).ready(function(){
  alert('1');
});

$('loader_script').one('my_load',function(){
  alert('2');
});
</script>

在主脚本中:

var innerpage=$('div#socket');
innerpage.load('pages/' + thisTab + '.html',function(){
     innerpage.find('#loader_script').trigger('my_load');
});