2010-12-11 14 views
0

Ich habe ein div, das die Sichtbarkeit der Liste darunter schaltet. Innerhalb dieses Hauptbereichs habe ich einen Link, der eine Farbbox öffnet (jquery "lightbox" plugin), um der Liste ein neues Element hinzuzufügen.jQuery toggle div mit link zu colorbox (lightbox)

Natürlich, wenn ich auf den Link klicke, macht es nichts anderes, als die Liste umzuschalten (wie seine Eltern). Also habe ich die stopPropagation() zu dem Link hinzugefügt. Es folgt jetzt dem Link, aber es öffnet sich im Elternfenster statt in der Farbbox.

Wie behebe ich das? Danke :)

<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(); }); 

Antwort

0

Nicht sicher genau, ohne genau zu wissen, was der Leuchtkasten Trigger ist aber haben Sie

Event.preventDefault versucht, indem();

um das folgende der Verbindung zu verhindern?

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

, dass nichts Arbeit macht ... tötet den Link. – Dianna

+0

Ich glaube nicht, dass der colorbox-Code relevant ist, aber er ist: $ ('a.colorbox') colorbox ({Deckkraft: 0.7, iframe: true, innerWidth: 550, innerHeight: 250, scrolling: false}); – Dianna

+0

Wenn die Farbbox ein Fenster auf derselben Seite öffnet, müssen Sie die Verknüpfung "kill". Wo rufen Sie die Colorbox-Methode an? dh .colorbox(); – Timbadu

0

Sicherstellen, dass haben Sie vor Skript Colorbox JQuery-Bibliothek erforderlich

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