jQuery花哨的盒子问题

时间:2011-04-23 17:24:59

标签: php jquery

我有一个带iframe的jQuery fancybox。它从.php加载代码。 在.php文件中,我有一个按钮,点击后会发一个帖子。

$(".next").click(function() {
                        $.post("update.php", {page: $(this).attr('data-page')}, function(success){
                                $("#dialog").html(success);
                            }
                        );
                 });

问题在于,当我第一次点击它时,它会加载html,但是它第二次不起作用。似乎jQuery没有第二次加载,因为我正在使用星级评级,并且星级评级也没有在那里呈现。

最初我的对话框中有一些HTML代码。

为了说明,这里是我的页面结构。我有一个main.php。我在main.php中有一个按钮,当我点击启动iframe花式框时。这个花哨的盒子的内容是从.php文件加载的,名为content.php。在content.php里面,我有另一个按钮,当点击它时会发一个帖子到loader.php。 loader.php回应了一堆html。要发布的jQuery代码位于content.php当我第二次点击iframe内的按钮时,它什么都不做

2 个答案:

答案 0 :(得分:1)

而不是点击,你必须使用直播。将第一行更改为:

$(".next").live('click', function() {

答案 1 :(得分:1)

好吧,Fancybox真的只是在当前内容上加载一个div,所以如果在设置DOM之后该div的内容(Fancybox“对话框”)发生了变化(换句话说,页面加载完毕)那么jQuery没有将事件附加到新内容。您必须修改代码才能使用.live()函数。