2010-12-11 91 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>