Я использую плагин jQuery fancybox для отображения iframe с контекстной информацией о записи, когда пользователь нажимает на ссылку.
Плагин .fancybox () не найден во время выполнения обратного вызова ajax success.Аналогично следующему:
$(function() {
Widgets = {
show_dialog: function(width, height) {
$('.fancybox').fancybox({ fancybox settings here});
}
}
});
Я могу сказать, что fancybox загружается и становится доступным, когда вышеуказанный объект Widgets определяется после проверки точки останова сразу после нее.Я также могу исправить вызов этой функции, обернув функцию show_dialog в анонимную функцию с областью действия $, как показано ниже:
$(function() {
Widgets = {
show_dialog: function($) { return function(width, height) {
$('.fancybox').fancybox({ fancybox settings here});
}; }($)
}
});
Дополнительные сведения ... Я использую плагин postMessage jQuery для отправки сообщенияот дочернего фрейма до родительского фрейма, если это имеет значение (я не думаю, что это должно)
Кто-нибудь может объяснить, что происходит?Чувствуется, что $ теперь переназначается при выполнении страницы, но я нигде не загружаю его.
РЕДАКТИРОВАТЬ: Обновлена область видимости fancybox до $ ('. Fancybox').1014 *