使用Shadowbox jQuery在div中加载PHP页面的问题

时间:2011-05-06 08:20:18

标签: php jquery load shadowbox

我有一个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>

阴影框工作正常,我可以在其中看到subpage.php的内容。问题是当我使用jQuery代码如click()时,在subapage.php中它不起作用。如果我理解得好,那就像装载错了。可能是subpage.php被加载后,这个东西不起作用,像这样。

有没有人知道可能出现什么问题?

提前致谢

2 个答案:

答案 0 :(得分:1)

那是因为当你执行content:$("#hiddenDiv").html()时,你会将预加载的子页面的内容放到另一个容器中。因此,在此之后,此新容器中的元素不受约束。

您可以自动重新绑定它们,将.click(function() {...})替换为.live('click', function() {...})

答案 1 :(得分:0)

那是因为子页面中的点击没有绑定。一个简单的解决方法是绑定subpage.php文件中的点击。