2010-12-11 2 views
0

У меня есть div, который переключает видимость списка под ним. Внутри этого основного div у меня есть ссылка, которая открывает colorbox (jquery "lightbox" плагин), чтобы добавить новый элемент в список.jQuery toggle div со ссылкой на colorbox (лайтбоксы)

Конечно, когда я нажимаю ссылку, она ничего не делает, кроме как переключение списка (например, его родителя). Поэтому я добавил 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

+0

Не думал, что код колокольчика имеет значение, но это: $ ('a.colorbox'). Colorbox ({opacity: 0.7, iframe: true, innerWidth: 550, innerHeight: 250, scrolling: false}); – Dianna

+0

Если colorbox открывает окно на одной странице, вам нужно «убить ссылку». Где вы называете метод colorbox? ie .colorbox(); – Timbadu

0

Убедитесь, что вы требовали Jquery библиотеки, прежде чем ColorBox сценарий

<script src="/js/jquery.js" type="text/javascript"> 
<script> 
jQuery('a.colorbox').colorbox(); 
</script> 
Смежные вопросы