我如何使用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();
    });

10-01 04:37