2013-11-19 6 views
2

Как закрыть цветной ящик, когда я нажимаю в любом месте самого colorbox?Закрытие colorbox при нажатии на себя

Я показываю скрытый DIV как ColorBox по щелчку ссылке

<div style="display: none"> 
    <div id="pop_box"> 
    Content goes here... 
    </div> 
</div> 

ссылку, чтобы открыть ColorBox

<a id="seeTheOffer" target="_blank"> advertisement </a> 

JQuery, чтобы открыть ColorBox

$("#seeTheOffer").colorbox({ inline: true, height: "420px", href: "#pop_box" }); 

И это что я пробовал до сих пор.

Вариант 1:

$("#pop_box").click(function() 
    { 
    $("#seeTheOffer").colorbox.close(); 
    }); 

Вариант 2:

$("#pop_box").click(function() 
    { 
    parent.jQuery.colorbox.close(); 
    }); 

Обе эти опции дают ошибку: "неперехваченным TypeError: Невозможно вызвать метод 'закрыть' неопределенных"

С просмотреть источник страницы, я вижу ниже библиотеки, передаваемые в головной секции

https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js 
jquery.colorbox.js (local copy) 
colorbox.css (local copy) 

Я что-то пропустил?

ответ

0

Благодаря Кевину и Хиралью для правильного направления.Наконец-то я смог закрыть ColorBox с помощью

$('#cboxClose').click(); 

ссылки на: This post

Спасибо!

3

Попробуйте это:

$("#email_popup_content").click(function(){ 
    $.fn.colorbox.close(); 
}); 
+0

Это не работает. –

+1

Работая здесь: [Fiddle] (http://jsfiddle.net/w68hD/) – Hiral

+0

Позвольте мне снова попробовать –

1

Вы писали

How can I close a colorbox when I click anywhere on the colorbox itself?

Я предположу где-нибудь на самом ColorBox означает на отображаемом всплывающем окне. Предполагая, что ваша первая попытка была близка.

Попробуйте вместо этого:

  1. продолжают использовать $ .colorbox.close();
  2. не помещается внутри события щелчка на #pop_box
  3. вместо этого, поместите его в селектор ColorBox используется, чтобы обернуть отображаемое содержимое
  4. Вы должны поместить свой код на странице вызова, прежде чем вы создать экземпляр ColorBox ,

Вот код, который использует глупое предупреждение в качестве проверочной устройства ::

$('#cboxWrapper').on('click', function() { 
    alert('I am going to close Colorbox'); 
    $.colorbox.close(); 

});

$(".group1").colorbox({rel:'group1'}); 

ожидаемых результатов: нажав на фотографиях, отображаемых в «1-й группе "теперь предупреждает, а затем закрывает Colorbox.

+0

Решение очень логично и должно работать. Тем не менее, я получил предупреждение по щелчку, но затем он дает ниже ошибку «Некопать TypeError: не может вызвать метод« закрыть »неопределенного« Может ли это быть из-за некоторых конфликтов библиотек или так? Я обновил свой пост с библиотеками, которые я включил. –

+0

Не можете увидеть ошибку? :( –

+0

В Chrome, когда я нажал на ссылку с ошибкой, он указал на оператор $ .colorbox.close(); с сообщением «Uncaught TypeError: невозможно вызвать метод« закрыть »из неопределенного» Никаких других данных не найдено. –

Смежные вопросы