1

好吧,我正在使用 jQuery 函数“.html”在名为“alerta”的 div 中放置一个链接。

好的,然后我尝试将“rel ='shadowbox'”参数放在我的“a”标签内,但它不起作用。

$('#alerta').html('<a href="selecao.php?id=' + 
                    avisos[i+1] + '" rel="shadowbox">' + avisos[i] + '</a>');

如果链接直接放在页面上,它工作正常...

谢谢。

4

4 回答 4

1

Shadowbox 在页面加载时初始化具有 shadowbox rel 的元素。如果您使用 jquery 添加链接,则该链接不会附加事件处理程序。

尝试向链接添加一个类,例如 sbox。然后把它放在你的脚本标签中,而不是 Shadowbox.init();

window.onload = function() {
   Shadowbox.setup($('.sbox'));
};

Shadowbox.init({
     skipSetup:true, // skip the automatic setup    
});

$(document).ready(function(){

       $('a.sbox').live('click',function(event){

       Shadowbox.open(this);
       //Stops loading link
       event.preventDefault();

       });
});
于 2010-05-20T14:46:33.653 回答
1

我想你需要打电话给

Shadowbox.init();

或类似的想法让 shadowbox 知道新添加的链接。

更新 请参阅 Lance May 的答案。我的已经过时了。

于 2010-05-20T14:46:33.747 回答
0

I Solved the problem. You have to initialize

(shadowbox.ini()) 

just when all the "shadowbox links" are placed.

Thank you for the support.

于 2010-05-20T17:33:36.810 回答
0

看看下面的 SO 帖子。它可能会有所帮助。

jQuery - Shadowbox 重新绑定

于 2010-05-20T14:43:51.383 回答