index.php
// load jquery.js and jquery.ui.js
$("#dialog_a").load("template_a.php").dialog();
$("#dialog_b").load("template_b.php").dialog();
template_a.php
just HTML, no JS
template_b.php
// !!! -> load jquery.js and jquery.ui.js <- !!!
$("#dialog").load("template_c.php").dialog({modal:true});
Як бачите, я завантажую два діалоги. #dialog_a просто завантажує текст без будь-якої функції, але #dialog_b завантажує автономний сценарій, який включає jquery і jquery.ui знову.
Після відкриття #dialog_b (за допомогою anchor / onclick) він "s"неможливо отримати доступ до об'єктів у index.php (наприклад, закриття діалогового вікна). Для мене здається, що template_b.php перезаписує DOM. Але я не знаю, як вирішити цю проблему.
Спасибі заздалегідь!
Відповіді:
0 для відповіді № 1Рішення: використовуйте Функція jQuery live ()!
index.php
$(".anchor_in_dialog_or_not_doesnt_matter").live("click", function() {
$("#dialog").dialog();
});
template_b.php
if ($_GET["standalone"])
// load jquery, jquery.ui
endif;
Я сподіваюся, що це допоможе комусь!
Редагувати: Як adamb вже згадувалося нижче, використовуйте на () замість live ()!