Javascript 如何将新页面加载到当前jQuery颜色框中?

Javascript 如何将新页面加载到当前jQuery颜色框中?,javascript,jquery,html,colorbox,Javascript,Jquery,Html,Colorbox,我在将页面加载到已经存在的颜色框中时遇到了一些问题 我通过单击链接打开了一个颜色框,该链接由以下代码绑定: $("a.ajaxAddPage").colorbox({ onComplete: function(){ $('ul#addPage li a').click(function() { $.colorbox({href: $(this).attr('href')}); return false; }

我在将页面加载到已经存在的颜色框中时遇到了一些问题

我通过单击链接打开了一个颜色框,该链接由以下代码绑定:

$("a.ajaxAddPage").colorbox({
    onComplete: function(){
        $('ul#addPage li a').click(function() {
            $.colorbox({href: $(this).attr('href')});

            return false;
        });
    }
});
以下HTML通过AJAX加载到该颜色框中:

<div class='colorboxWindow'>
    <ul id='addPage'>
        <li><a href='addCat.php'>Add Category</a></li>
        <li><a href='addPage.php' class='current'>Add New Page</a></li>
        <li><a href='addPage2.php'>Add Another Page</a></li>
    </ul>

    <h3>Add New Page...</h3>
</div>

添加新页面。。。
我试图让这3个链接中的每一个在单击时都在当前的颜色框中打开。使用上面的my
onComplete
绑定,第一次单击就可以了,但下一次单击会像普通页面一样打开

如果我在上述代码中的
$.fn.colorbox()
调用中添加另一个
onComplete
,则第二次单击也将加载到相同的colorbox中,但第三次单击不会加载

有没有一种方法可以将以后所有的点击绑定到同一个颜色框中打开?我对事件绑定知之甚少

如果您需要澄清,请询问。

使用jQuery方法如何?它应该处理添加的新元素,并将事件处理程序附加到新元素

在本例中,我们将其应用于
#cboxLoadedContent
元素,因为AJAX调用中的新元素应该来自于此。它看起来像这样:

$("a.ajaxAddPage").colorbox();

$('#cboxLoadedContent a').live('click', function() {
  $.colorbox({href: $(this).attr('href')});
  return false;
});

这正是我需要的!我记得几周前读过关于jQuery的.live()方法的文章,但我从未使用过它,所以我忘记了它。非常感谢。非常感谢。你错过了一个结束语。干杯(对于谷歌用户)请注意,从jQuery 1.7开始,
live()
已经被弃用,您应该使用