Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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
Javascript 检测onclick事件中的clickout_Javascript_Jquery - Fatal编程技术网

Javascript 检测onclick事件中的clickout

Javascript 检测onclick事件中的clickout,javascript,jquery,Javascript,Jquery,我搜索了几乎所有的教程,提示介绍了如何在jQuery中检测点击。但我认为我的情况与大多数人不同。(可能不是) 嗯,我正在使用这个函数为我网站上的每个用户切换面板。(onclick事件) 例如: 用户的id为7,因此要切换的函数为:togglePanel(7) 很好,没问题。但当我试图检查面板是否可见(事件体单击)时,如果是,则隐藏它 =>我不能再切换面板了 我该怎么办,请给我一些建议。谢谢 顺便说一下,我正在学习本教程 jQuery.noConflict(); jQuery(document).

我搜索了几乎所有的教程,提示介绍了如何在jQuery中检测点击。但我认为我的情况与大多数人不同。(可能不是)

嗯,我正在使用这个函数为我网站上的每个用户切换面板。(onclick事件)

例如:

用户的id为7,因此要切换的函数为:
togglePanel(7)

很好,没问题。但当我试图检查面板是否可见(事件体单击)时,如果是,则隐藏它

=>我不能再切换面板了

我该怎么办,请给我一些建议。谢谢

顺便说一下,我正在学习本教程

jQuery.noConflict();
jQuery(document).ready(function(){
    var panel = jQuery('.ui-context');
    var link = jQuery('.context-link');
    jQuery(document.body).click(function(){
        if (!panel.has(this).length) {
            panel.hide();
            link.removeClass('context-open');
        }
    });
});
下面是切换面板功能:

jQuery.noConflict();
function togglePanel(userId) {
    var lctgLink = "#panel-u" + userId;
    var lctgPanel = "#context-ucp-" + userId;
    jQuery(lctgPanel).toggle();
    jQuery(lctgLink).toggleClass('context-open');
    return false;
}
html将是:

<a href="javascript:;" id="panel-u-$uid" onclick="togglePanel($uid);">$username</a>
<div id="context-ucp-$uid" class="ui-context" style="display:none;">
<!-- STUFF HERE -->
</div>


将大大有助于查看您的html@sgroves:已编辑。请重新检查