Javascript每个函数在jQuery Colorbox中都不起作用

时间:2012-04-09 14:35:14

标签: javascript jquery colorbox

如果在我的首页上按了一个链接,我的新网站就会打开一个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>";

如果我按下按钮,我的彩盒中没有任何反应,但如果我在我的开始页面上包含此页面,那么它的效果非常好。

那为什么它在彩盒中不起作用?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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(选择器)在iframe和frame中找到元素。

以下是更多信息的链接。

How can I get an element from within a frameset frame using JavaScript?

Javascript - Get element from within an iFrame

我会用firebug检查你的html,以便完成这个过程。