colorbox bug – 从链接或按钮关闭colorbox

我打电话打开弹出窗口

$.colorbox({ href: "notification.aspx" }); 

在notification.aspx我有

  ... OK 

弹出窗口显示正常,但是当我单击按钮时,它会出现JavaScript错误。

在主页面的javascript我有

 $('#btnClose').live('click', function () { alert('closing...'); // Alert shown as expected $.colorbox.close(); // Nothing happens, no JavaScript error //$.fn.colorbox.close(); // same //parent.$.fn.colorbox.close(); // same //$.colorbox.remove(); // same //$('#cboxClose').click(); // same //$('#cboxOverlay').click(); // same }); 

我只想关闭弹出窗口。

我错过了什么? 提前致谢。

编辑:我让它以某种方式工作,我会找出是什么使它工作。

$.colorbox.close()是关闭colorbox的正确方法,不要听这些其他注释。 问题是你第二次加载彩盒。 从notification.aspx删除jquery.colorbox.js脚本块。

尝试

 Close 
 $(document).ready(function(){ $.colorbox({ inline:true, href:'notification.aspx', onClosed:function(){ alert('closing'); $.colorbox.remove(); } }); }); 

谢谢大家的意见。

这真的很奇怪,但在摆弄后我发现这样做了

 $('#btnClose').live('click', function () { $.colorbox.remove(); // You have to remove it first (don't know why) $('#cboxClose').click(); // Then this will close the box, $.colorbox.close() still doesn't work $.colorbox.init(); // Re-init, otherwise colorbox stops working }); 

希望它可以帮到某人。

编辑:虽然这解决了问题,问题的原因是我包括jquery两次! (谢谢杰克)

这可能对某人有所帮助。我创建了一个自定义关闭按钮。 我的自定义关闭按钮位于右上角,也可以关闭。 我的代码:

  jQuery(document).ready(function(){ jQuery('
close
').appendTo('.yourparentDiv'); $("#close").click(function() { jQuery('#cboxClose').click(); }); });

关闭彩盒时我遇到了问题。 它帮助了我。

在notification.aspx中你应该有

 OK 

在主页面的javascript中你应该有

  ... function closeBox() { $.colorbox.close(); } 

这对我有所帮助

// 3.处理对话框取消按钮:

 $("#CancelDeleteButton").click(function() { $.fn.colorbox.close(); return false; }); 

如果你有以下条件,大多数答案都会有效:1。同一域上的父和子2.孩子有JQuery

如果您要关闭子框并且您具有以下两个条件中的任何一个,请执行以下操作:

在父母做这个:

 $('document').ready( function () { window.addEventListener("message", function (event) { $.colorbox.close(); }); }); 

在子项中添加一个关闭按钮,点击后面带有以下js