我有几个页面被调用到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});
});
答案 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
})
})