javascript - 使用 jquery 确定是否单击了 div 中的任何元素

标签 javascript jquery

如何使用 jQuery 判断是否单击了 div (panel1) 中的任何元素?我有这段代码用于显示/隐藏弹出窗口:

$('body').click(function (e) {
        if ($(e.target).attr('id') == 'link1') {
            $('#panel1').show();
        } else {
            $('#panel1').hide();
        }
    });

问题是,如果我单击 panel1 中的任何控件/元素,弹出窗口 (panel1) 就会被关闭。我想保持 panel1 打开,除非单击 panel1 外部的区域(或者再次单击 link1)。我该如何修改这段代码来实现这一目标?谢谢...

最佳答案

试试这个

$('#panel1').click(function (e) {
       e.stopPropagation();
       //Other code if you want to execute anything on panel click.
    });

$('body').click(function (e) {
       if($("#panel1").is(":visible")) 
          $('#panel1').hide();
    });

关于javascript - 使用 jquery 确定是否单击了 div 中的任何元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6792817/

相关文章:

javascript - Ionic 2 (Typescript) - 变量范围和传递变量的问题

javascript - 如何在 Bootstrap 3 中将 font Awesome 图标置于图像之上?

jquery - 路口观察者 API 不可用

javascript - jquery load/get 和 dom 元素不触发...?

Javascript 添加表格行

javascript - Colorbox的tabindex =“-1”属性可防止在表单字段上进行焦点和键入

Javascript JSON比较/差异?

javascript - Ember JS + Ember 数据 : Sideloading doesn't work with string ids

asp.net - jQuery ajax 响应无法正常运行

php - ajax成功打开新窗口显示pdf