我已经使用以下代码来获得“点击外部”以关闭工作:
点击 div 显示:
$('div.topIconNew').click(
function(){
$(this).siblings('div.topTip').show();
$(this).siblings('div.topDrop').slideDown(240);
在 div 隐藏之外单击:
$('div#wrapper').click(
function(event){
$('div.topIconNew, div.topTip, div.topDrop').hide();
}
);
$('div.topTip, div.topDrop').click(
function(event){
event.stopPropagation();
}
);
上面的问题是topIconNew .stopPropagation 使得一旦topTip 和topDrop div 打开,如果我再次单击相同的topIconNew(即切换)或topIconNew 的另一个实例,它们将不会关闭。
新编辑***
好的,我正在考虑这个问题,并想知道解决方案是否可能与 if 语句一起使用。
所以我最终想要以下附加代码:
$('topIconNew').click(
function(){
$('div.topTip, div.topDrop').hide();
}
);
但是,我希望上面还说只有当topTip 和 topDrop 处于打开状态时才在单击 topIconNew 时隐藏 topTip 和topDrop并且仅隐藏当前打开的 topTip 和 topDiv 元素。
我该怎么说上面的?