Jquery 在ajax生成的内容中,颜色框打开超过1次

Jquery 在ajax生成的内容中,颜色框打开超过1次,jquery,ajax,colorbox,Jquery,Ajax,Colorbox,所以基本上,我有一系列的内容,点击后,颜色框会显示出来 echo '<div id=scrollimgforplaces>'; while ($row = mysql_fetch_array($result)) { echo "<a class='ajax' href='image_color_box.php?id=".$row['id']."' title='Utourpia'></a>"; echo '<a class="ajax" href="lo

所以基本上,我有一系列的内容,点击后,颜色框会显示出来

echo '<div id=scrollimgforplaces>';
while ($row = mysql_fetch_array($result)) {
echo "<a class='ajax' href='image_color_box.php?id=".$row['id']."' title='Utourpia'></a>";
echo '<a class="ajax" href="login_for_color_box.php" title="Login"></a>';
}
echo '</div>';
接下来,我将生成一些与此类似的动态内容,为了使colorbox正常工作,我将以下代码放在我的ajax中:

$.ajax({
                    type: "POST",
                    url: "data.php",
                    data:data,
                    success: function(res) {
        var $html = $(res);
            $html.find('a.ajaxdynamic').colorbox();
            $('#scrollimgforplaces').append($html);
                    }
                });
我的动态内容如下:

while ($row = mysql_fetch_array($result)) {
echo "<a class='ajaxdynamic' href='image_color_box.php?id=".$row['id']."' title='Utourpia'></a>";
echo '<a class="ajaxdynamic" href="login_for_color_box.php" title="Login"></a>';
}
while($row=mysql\u fetch\u array($result)){
回声“;
回声';
}
但是,当我运行上述代码并执行某些操作时,即向下滚动,以便显示动态内容。单击颜色框时,它将显示两次,而不是一次。知道发生了什么吗


演示页面:

我认为问题出在
$(“.ajax”).colorbox()上
将colorbox应用于ajax类的所有元素

您应该尝试使用像
$(“#element1”).colorbox()这样的唯一id

注意:我没有测试我的解决方案

while ($row = mysql_fetch_array($result)) {
echo "<a class='ajaxdynamic' href='image_color_box.php?id=".$row['id']."' title='Utourpia'></a>";
echo '<a class="ajaxdynamic" href="login_for_color_box.php" title="Login"></a>';
}