0

我有一个 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 的内容。问题是当我使用像 click() 这样的 jQuery 代码时,在 subapage.php 中它不起作用。如果我理解得很好,就像负载有问题一样。可能是 subpage.php 被加载之后,这个东西不起作用,就像这样。

有谁知道可能出了什么问题?

提前致谢

4

2 回答 2

1

那是因为当您这样做时,您content:$("#hiddenDiv").html()会将预加载的子页面的内容放入不同的容器中。所以,之后这个新容器中的元素不会被绑定。

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

于 2011-05-06T08:26:46.443 回答
0

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

于 2011-05-06T08:23:36.810 回答