我希望创建通知看起来像FaceBook,看看this image,我创建了,在我的代码中,我使用事件onClick
为icon notify
然后addClass('open')
为...当<ul class="notify-content dropdown-menu open">
打开时,我想点击此窗口中的任意位置(注意:不同的选择器)removeClass('open')
。怎么做?
这是我的代码:
$('#layout-topbar-right .notify-warring').on('click', function() {
var dom = $('layout-topbar-right .dropdown-menu');
if ($(dom).hasClass('open')) {
$(dom).removeClass('open');
} else {
$(dom).addClass('open');
}
});
答案 0 :(得分:0)
您可以尝试:
$( document.body ).click(function() {
// your codes
});
或者
document.body.addEventListener(&#39; click&#39;,fn,true);
答案 1 :(得分:0)
你可以试试这个:
$(document).click(function(e) {
if (!$(e.target).parents('#layout-topbar-right').length) {
$(dom).removeClass('open')
}
});
当用户点击文档时,我们会使用e.target
检查他点击的元素。
如果点击的元素超出了父#layout-topbar-right
:
if (!$(e.target).parents('#layout-topbar-right').length)
隐藏dom
这里是完整的代码
var dom;
$('#layout-topbar-right .notify-warring').on('click', function() {
dom = $('layout-topbar-right .dropdown-menu');
if ($(dom).hasClass('open')) {
$(dom).removeClass('open');
} else {
$(dom).addClass('open');
}
});
$(document).click(function(e) {
if (!$(e.target).parents('#layout-topbar-right').length) {
$(dom).removeClass('open')
}
});