2010-12-11 86 views
0

我有一个div来切换它下面的列表的可见性。在该主div中,我有一个链接打开一个colorbox(jquery“lightbox”插件)来添加一个新项目到列表中。jQuery toggle div与链接到colorbox(lightbox)

当然,当我点击链接时,除了切换列表(如其父)之外,它什么都不做。所以我将stopPropagation()添加到链接中。它确实遵循现在的链接,但它在父窗口而不是在colorbox中打开。

我该如何解决这个问题?谢谢:)

<div class="list"> 
<div class="listname"> 
My List Name 
<a href="my_link.html" class="colorbox">Add Item</a> 
</div> 
<div class="items"> 
My Items 
</div> 
</div> 

$(".listname").toggle(
function(){ 
    $(this).siblings(".items").slideDown(100); 
    return false; 
}, 
function(){ 
    $(this).siblings(".items").slideUp(100); 
    return false; 
} 
); 

$(".listname a").click(function(e){ e.stopPropagation(); }); 

回答

0

不知道到底不知道灯箱触发正是但你尝试添加

event.preventDefault();

阻止以下链接?

$(".listname a").click(function(e){ 
    e.stopPropagation(); 
e.preventDefault(); 
}); 
+0

这使得没有工作......杀死了链路之前。 – Dianna 2010-12-11 20:57:48

+0

没想到colorbox代码是相关的,但它是:$('a.colorbox')。colorbox({opacity:0.7,iframe:true,innerWidth:550,innerHeight:250,scrolling:false}); – Dianna 2010-12-11 20:58:41

+0

如果colorbox在同一页面打开一个窗口,那么你确实需要“杀死链接”。 你在哪里调用colorbox方法? ie .colorbox(); – Timbadu 2010-12-12 00:52:10

0

确保您有需要jQuery库彩盒脚本

<script src="/js/jquery.js" type="text/javascript"> 
<script> 
jQuery('a.colorbox').colorbox(); 
</script>