У меня есть php-страница, назовите ее page.php. На этой странице я использую эффект shadowbox для открытия новой php-страницы (subpage.php). Поэтому у меня есть что-то вроде:
$(document).ready(function() { Shadowbox.init(); $("#configure").click(function(){ Shadowbox.open({ content: $("#hiddenDiv").html(), player: "html", title: "Hello", height: 600, width: 840 }); }); });
И затем в html-коде, который я использую:
<div id="hiddenDiv" style="display:none;"> <?php include 'subpage.php'; ?> </div>
Ядро shadowbox работает нормально, и я могу видеть содержимое subpage.php в нем. Проблема в том, что когда я использую код jQuery, например click (), в subapage.php он не работает. Как будто что-то не так с нагрузкой, если я хорошо понял. Вероятно, subpage.php загружается после, и эта вещь не работает, что-то вроде этого.
Кто-нибудь имеет представление о том, что может быть неправильным?
заранее спасибо
Это потому, что когда вы делаете content:$("#hiddenDiv").html()
вы получаете содержимое предварительно загруженной подстраницы в другой контейнер. Итак, после этого элементы в этом новом контейнере не связаны.
Вы можете автоматически отменить их замену .click(function() {...})
для .live('click', function() {...})
потому что клик на подстранице не привязан. простым обходным решением может быть привязка клика в файле subpage.php.