$(function() { $('#tag-btn1').click(function() { $('#second-tag-p1').addClass('second-tag-p-active'); $('.sidebar').addClass('z-index100'); $('#secondary-content1').addClass('display-block'); }); }); $(document).mouseup(function(e){ var _con = $(' #second-tag-p1 '); // 设置目标区域 if(!_con.is(e.target) && _con.has(e.target).length === 0){ $('.secondary-tag-container').removeClass('second-tag-p-active'); $('.sidebar').removeClass('z-index100'); $('.secondary-content').removeClass('display-block'); }; });
这是一个点击空白关闭弹窗的效果,但是,点击#tag-btn1
不能关闭,后面我把.addClass
更换为.toggleClass
还是不能达到再次点击按钮关闭效果,toggle无效,也没有报错
$(document).mouseup(function(e){})和$('#tag-btn1').click(function() {})两个事件 在冒泡上有交集的 ,所以你可能要阻止一下,