Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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/1/cocoa/3.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
Php Javascript Fancybox 2关闭按钮/链接事件不工作_Php_Javascript_Wordpress_Fancybox - Fatal编程技术网

Php Javascript Fancybox 2关闭按钮/链接事件不工作

Php Javascript Fancybox 2关闭按钮/链接事件不工作,php,javascript,wordpress,fancybox,Php,Javascript,Wordpress,Fancybox,我正在使用Fancybox 2创建一个条款和条件弹出窗口,显示当用户登录到我们的wordpress站点时,从div标签检索该内容,并使用php从wordpress页面查找正确的内容。他们需要点击接受按钮继续并关闭弹出窗口,该链接在div标签中生成。使用一个单独的php文件,他们的用户id被添加到一个表中,显示他们已经接受了ts和cs。除了“接受”按钮外,其他一切都正常。当我单击“接受”链接时,窗口不会完全关闭,它会停留在屏幕上,但当我的表使用用户id更新时,会触发onclose事件。当我单击内容

我正在使用Fancybox 2创建一个条款和条件弹出窗口,显示当用户登录到我们的wordpress站点时,从div标签检索该内容,并使用php从wordpress页面查找正确的内容。他们需要点击接受按钮继续并关闭弹出窗口,该链接在div标签中生成。使用一个单独的php文件,他们的用户id被添加到一个表中,显示他们已经接受了ts和cs。除了“接受”按钮外,其他一切都正常。当我单击“接受”链接时,窗口不会完全关闭,它会停留在屏幕上,但当我的表使用用户id更新时,会触发onclose事件。当我单击内容(包括链接)上的任意位置时,我可以看到窗口快速地进出。所以我猜fancybox的顶部有某种不可见的覆盖层阻止链接被执行

这是我的密码

<a class="fancybox" href="test" style="display:none;">ddd</a>
        <div id="test" style="display:none;height:600;width:750px;">
                        <?php
        global $blog_id,$wpdb;
        // query the DB to retrieve the post 'termsofservice' from the localized sites posts table
        $tnc_notification = $wpdb->get_var( $wpdb->prepare( "select post_content from wp_posts where post_title='Terms & Conditions' and post_status='publish';" ) );
            echo "<p>TERMS and CONDITIONS have changed, please read the new terms and conditions.  By closing this window you automatically accept them</p>";

                    echo '<a href="javascript:jQuery.fancybox.close();">Accept </a> ';

                    echo "<p>".$tnc_notification."</p>";
        ?>

找到的编辑解决方案:
好的,我设法解决了这个问题。您必须在链接中创建引用,并在
jQuery(文档).ready(函数()声明
因此,所发生的是accept链接/按钮中的javascript没有正确调用fancybox close

因此,首先在accept链接/按钮中创建引用

echo '<a href="#" id="closeFancy">Accept</a> ';
echo';
然后在fancybox声明/初始化中创建函数:

<script type="text/javascript" language="javascript">
function callTNC(){
            jQuery(document).ready(function() { 
                                            jQuery("#closeFancy").click(function(){
                                                jQuery.fancybox.close();
                                                return false;
                                            });
                    jQuery("#test").fancybox({
                                                'closeBtn': false,
                                                'closeClick': false,
                                                'modal': true,
                                                'maxHeight': 600,
                                                'maxWidth': 750,
                                                helpers   : { 
                                                    overlay : {closeClick: false} // prevents closing when clicking OUTSIDE fancybox 
                                                },

                                                afterClose : function (){
                                                    //add the user into the tnc accepted table
                                                    $.get("http://mysite.com/tncaccept.php");
                                                }
                    }).trigger('click');
                                            //$("#acceptClose").click(function(){
                                            //    $.fancybox.close();
                                            //    return false;
                                            //});
            });
}

函数callTNC(){
jQuery(文档).ready(函数(){
jQuery(“#closeFancy”)。单击(函数(){
jQuery.fancybox.close();
返回false;
});
jQuery(“测试”).fancybox({
“closeBtn”:false,
“closeClick”:false,
“模态”:正确,
“最大高度”:600,
“最大宽度”:750,
助手:{
覆盖:{closeClick:false}//防止在fancybox外部单击时关闭
},
后关闭:功能(){
//将用户添加到tnc accepted表中
$.get(”http://mysite.com/tncaccept.php");
}
}).trigger('click');
//$(“#接受关闭”)。单击(函数(){
//$.fancybox.close();
//返回false;
//});
});
}

<script type="text/javascript" language="javascript">
function callTNC(){
            jQuery(document).ready(function() { 
                                            jQuery("#closeFancy").click(function(){
                                                jQuery.fancybox.close();
                                                return false;
                                            });
                    jQuery("#test").fancybox({
                                                'closeBtn': false,
                                                'closeClick': false,
                                                'modal': true,
                                                'maxHeight': 600,
                                                'maxWidth': 750,
                                                helpers   : { 
                                                    overlay : {closeClick: false} // prevents closing when clicking OUTSIDE fancybox 
                                                },

                                                afterClose : function (){
                                                    //add the user into the tnc accepted table
                                                    $.get("http://mysite.com/tncaccept.php");
                                                }
                    }).trigger('click');
                                            //$("#acceptClose").click(function(){
                                            //    $.fancybox.close();
                                            //    return false;
                                            //});
            });
}