Thickbox не открывается с тегами привязки, созданными во время выполнения - PullRequest
0 голосов
/ 06 декабря 2011

У меня проблема с открытием толстого ящика с прикрепленными к нему тегами привязки во время выполнения. Якорный тег содержит css-коробку и href, необходимые для открытия толстого ящика. Однако он не открывается на нужную страницу в толстом ящике. Все, что он делает, это открывает страницу на новой странице. Тем не менее, когда я создаю жестко закодированный якорь с требуемым материалом для boxbox, он открывается нормально. Единственная проблема заключается в том, что он не делает то же самое, когда генерируется во время выполнения.

Я использую Jquery для добавления тегов привязки.

Разве Jquery не понимает теги привязки со свойством Thickbox, добавляемые во время выполнения?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2011

Вот ответ на мой вопрос

Толстый ящик имеет свои ограничения. В случае Thickbox события прикрепляются при загрузке страницы. Таким образом, если мы генерируем якорные теги в виде «толстых ящиков» во время выполнения, то «умный» ящик не загружает себя тегами привязки.

Таким образом, решение заключается в том, что после генерации тега привязки во время выполнения с подробным описанием thicbox вам необходимо перезагрузить Thickbox. Это достигается написанием простого фрагмента кода, указанного ниже, после генерации ваших тегов привязки во время выполнения.

tb_init('a.thickbox, area.thickbox, input.thickbox');

Данный фрагмент кода перезагружает интерфейс.

0 голосов
/ 06 декабря 2011

Я предполагаю, что вы устанавливаете действие события click с помощью

$('.className').click(...);

или

$('.className').bind('click', ...);

Эти привязки не сбрасываются при добавлении новоготеги к DOM во время выполнения.Вам необходимо использовать:

$('.className').live('click', ...);
...