当页面调用选项卡时,Document.ready脚本无法正常工作

时间:2011-02-24 19:15:48

标签: javascript

我有几个页面被调用到ajax选项卡区域。被调用的页面上有javascript,但是当加载到选项卡上时,document.ready函数不会为每个页面加载。相反,我不得不在页面上放置一个按钮来手动加载该功能。我尝试将document.ready函数放在被调用的页面和调用它的页面上,但它仍然不会运行。有没有其他方式我可以使用而不是按钮?我不希望我的页面上显示的按钮在看起来很好之前必须被点击=(

这是调用页面的代码:

onclick="createNewTab('dhtmlgoodies_tabView1','Remote Access','','RemoteAccess.html',true);return false">Remote Access

所有javascript文件都连接到主页面。

按钮位于remoteaccess页面上:

input type='button' value='Load.' onclick='loadlightbox()'

loadlightbox功能位于连接到主页面的javascript文件中:

loadlightbox = (function() {
    $('#gallery a').lightBox({fixedNavigation:true});
});

2 个答案:

答案 0 :(得分:0)

使用JavaScript将内容加载到页面时,不会触发document.ready事件。大多数库只是坚持使用innerHTML返回的内容。大多数库只是从responseText中删除JavaScript代码并通过eval()运行它。

您可能想忘记整个文档。已经完成了最后的代码块。

答案 1 :(得分:0)

document.ready函数不会触发,因为页面(文档)已经加载。远程页面作为内容而不是文档加载。

由于您使用的是jquery,因此您应该利用.load function,并且还应该unobtrusive approach将onclick附加到您的链接。这允许您的JS和代码分开。

//Using Jquery load 
$("#id_of_link").click(function(e){
     e.preventDefault();
     $('#dhtmlgoodies_tabView1').load("RemoteAccess.html",
     function(){
          //callback code here
      })
})