回调

2009-04-11 31 views
5

如何申请一段代码到AJAX加载选项卡的内容? 我试图使用加载内容中的$(document).ready,但是阻止加载CSS样式(不知道为什么)。回调

是否有一个回调函数?我应该以其他方式在已加载的文档中使用$(document).ready和styles?

如果使用$(文件)。就绪加载的文件里面是好的,我应该还包括对jQuery和它的插件,它引用?

回答

8

您是否试过load event?这应该被调用,当标签的内容已被加载。

一般来说,你不应该把加载的元素作为一个新的页面,并调用$(文件)。就绪。这不是一个新页面,而是添加到DOM中的一些新元素。所有ajax方法都具有调用的回调方法,当数据成功加载时。

+0

加载事件应用于每个选项卡,我是否应该使用该事件并检索其中的选定选项卡以应用新代码? 每个选项卡都有不同的DOM,比如表格或表单。 – Gerardo 2009-04-11 19:42:17

5

是您使用的代码加载通过Ajax的内容?如果您使用像loadajax这样的jQuery命令,那么我会建议将您的代码放入回调函数中。例如,使用load

$('#myUITab').load('anotherPage.html', function() { 

    // put the code you need to run when the load completes in here 

}); 
+0

我使用的标签的方法,包括: $( '#内容')片( '添加', '标签/ editor.php',数据[I] .nombre); – Gerardo 2009-04-11 19:38:58

0

另一种方式做,这是通过使用ajaxComplete:

$("#loading_comtainer").ajaxComplete(function(event,request, settings){ 
    alert("ajaxCompleted"); 
}); 
0

可以使用tabsload事件http://jqueryui.com/demos/tabs/#event-load

如何将它在下面的示例工作:

$('#nav_tabs').tabs({ 
    select: function(event, ui){ 
     var url = $.data(ui.tab, 'load.tabs'); 
     if (url == '?ak=/account/logout') { 
      //exclude the logout from using ajax 
      location.href = url; 
      return false; 
     } 
     return true; 
    }, 
}).bind('tabsload',function(event, ui){ 
    alert('The tab is loaded. What now?'); 
}); 
2

的jQuery UI“选项卡”提供回调方法。看看下面!

$("#tabs").tabs({ 
    ajaxOptions: { 
     error: function(xhr, status, index, anchor) { 
      $(anchor.hash).html(
       "error occured while ajax loading."); 
     }, 
     success: function(xhr, status) { 
      //alert("ajax success. "); //your code 
     } 
    } 
});