Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 通过单击模式窗口中的锚定链接关闭colorbox模式窗口?_Jquery_Colorbox - Fatal编程技术网

Jquery 通过单击模式窗口中的锚定链接关闭colorbox模式窗口?

Jquery 通过单击模式窗口中的锚定链接关闭colorbox模式窗口?,jquery,colorbox,Jquery,Colorbox,我已经做了一个锚定链接-我正在尝试这样做,当我点击这个锚定链接(包含在colorbox模式窗口中)时,它将关闭colorbox $(document).ready(function(){ $('.newWindow a').click(function(){ alert('hello world'); // checking to be sure click function is being called $.fn.colorbox.close(

我已经做了一个锚定链接-我正在尝试这样做,当我点击这个锚定链接(包含在colorbox模式窗口中)时,它将关闭colorbox

$(document).ready(function(){
     $('.newWindow a').click(function(){
          alert('hello world'); // checking to be sure click function is being called
         $.fn.colorbox.close(); 
     });
 });
我想这会管用的。。我可能做错了什么

颜色框中加载的内容是页面上的隐藏div,而不是iframe

编辑:我不知道为什么它不起作用。我看过别人的例子,它和我的一样被放在一起。我注意到,当单击透明div以使用颜色框显示“景深”时,模式窗口将淡出/关闭。因此,我将代码更改为:

 $(document).ready(function(){
     $('.newWindow a').click(function(){
         $('#DOMWindowOverlay').click(); // click overlay div and close colorbox
     });
 });

不是真正的修复-这是一个解决办法。。但它是有效的

那是什么
.fn

试一试


它不起作用,因为docReady运行时链接不存在。将来,您可以做以下两件事之一:A)将单击处理程序放入jquery live()函数(仍在docReady中),或B)使用colorbox的onComplete选项创建单击处理程序(放置在创建colorbox时发送的对象文本中)


另外,正如Thorsten指出的,.fn部分是不必要的,因为colorbox的作者有远见创建了一个指向$.colorbox的链接。

Kyle,这在我看来很好。通过在事件处理程序中返回false或使用preventDefault方法,确保还取消了锚的默认操作。例:

$(document).ready(function(){
     $('.newWindow a').click(function(){
          alert('hello world'); // checking to be sure click function is being called
         $.fn.colorbox.close(); 
     });
 });
 $('.newWindow a').click(function(){
     $.colorbox.close();
     return false;
 });

可以使用
.fn
,(这是访问jQuery插件方法的标准方式),但colorbox的任何方法都不需要它。

只需将锚点放在
onclick=“$('#registerDialog')。dialog('close');”>

其中,
registerDialog
是模式对话框id,如这里的
data\u dialog\u id

@Html.ActionLink("Register", "Register", "Account", null, 
    new { @class = "openDialog",
          data_dialog_id = "**registerDialog**", 
          data_dialog_title = "btewary.blogspot.in" })

试了一次,还是没有骰子。事后,他立即想出了一个答案。奇怪的是,把它放在这里让我对这个问题有了不同的看法。很好,我认为你的解决方案无论如何都应该有效。看看奇怪的。。我猜页面上有什么东西干扰了它的正确关闭。你的第一句话对吗?问题作者说“加载到颜色框中的内容是页面上的一个隐藏div,而不是iframe”,这意味着链接位于包含颜色框调用的页面上。@Kevin M:谢谢Kevin,我错过了。当然你是对的,如果它已经在页面中,那么docReady会得到它。另外,我刚刚用原始代码(在文章的顶部)进行了一次快速测试,并获得了关闭颜色框的链接,没有问题。如果凯尔回来,也许他可以给我们更多的信息,或者说是什么弄混了?杰克!那个男人!添加您的配色箱大大改善了我的作品的外观。谢谢