0

如果在我的起始页上按下一个链接,一个 jQuery Colorbox 会打开我的新站点。

<script type="text/javascript">    
        $(document).ready(function(){        
            $(".deletealbum").each(function(){         
                $(this).click(function(event){
                    event.preventDefault();
                    var albumname = $(this).attr('name');
                    alert(albumname);               
                    $.post('deleteAlbum.php',
                    {
                        albumname: albumname
                    });                                       
                });
            });
        });   
    </script>

这是我的 Javascript - 代码,下面我有链接,看起来是这样的

echo "<a href='#' class='deletealbum' id='$Album' name='$Album'> DELETE </a>";

如果我按下按钮,我的颜色框中不会发生任何事情,但如果我将此页面包含在我的起始页面上,它就会完美地工作。

那么为什么它在颜色框中不起作用?

4

2 回答 2

0

您的 Colorbox 是否使用 iFrame?在这种情况下,您的代码段可能不会在您愿意添加它们的元素上添加事件处理程序。

于 2012-04-09T14:45:19.660 回答
0

运行此代码并查看是否收到错误消息。

$(function () {
    var selector = ".deletealbum";
    var $el = $(selector);
    if (!$el.length) {
        var errMsg = "Error can't find '" + selector + "'";
        throw new Error(errMsg);
    }
    $el.click(function (e) {
        var albumname = $(e.target).attr('name');
        $.post('deleteAlbum.php', {
            albumname : albumname
        });
        return false;
    });
}());

如果您收到一条错误消息,那么您将不得不找到包含您想要的元素的框架 ID。您应该能够使用 $( window.frame[ id ] ).find( selector ) 在 iframe 和框架中找到元素。

这是一个链接以获取更多信息。

如何使用 JavaScript 从框架集框架中获取元素?

Javascript - 从 iFrame 中获取元素

我会用萤火虫检查你的 html 以加快进程。

于 2012-04-09T15:09:21.070 回答