在tabs()中加载ajax的内容中的链接调用colorbox()

时间:2015-01-21 11:50:59

标签: jquery jquery-ui colorbox jquery-ui-tabs

我正在使用jQuery UI tabs()将ajax内容加载到页面中。 其中一些内容链接到应通过colorbox()打开的模态窗口,但我无法正常启动它们。

有人可以给我一些指示吗? 我是否需要在通过ajax加载的内容中包含colorbox库?我认为它应该足够在父页面中,并且我只是在内容加载后再次调用colorbox,但我仍然让它工作。

这就是我所拥有的(什么都不做)......:

$( "#tabs" ).tabs().bind('tabsload',function(event, ui){
    //alert('The tab is loaded. What now?');
    $("#tabs .iframe").colorbox({iframe:true, width:"65%", height:"80%"});
});

1 个答案:

答案 0 :(得分:1)

到目前为止,您的代码对我来说很好。我把一个简单的小提琴放在一起,演示了这个功能。我使用activate事件代替load,因为后者不起作用(尽管这可能是因为我没有通过AJAX加载我的标签)。无论哪种方式,activate也适合您:

$("#tabs").tabs({
    activate: function (event, ui) {
        $("#tabs .colorbox").colorbox({iframe:true, width:"65%", height:"80%"});
    }
});

小提琴:http://jsfiddle.net/g27szcop/1/

您不应该将颜色框库包含在AJAX内容中,除非您正在做一些奇怪的事情,例如在每个标签内创建iFrame,然后将内容加载到 。如果您能够发布更多代码,我可以通过其他建议更新我的小提琴。