我正在实施popovers,因为现有的库不够灵活。我想用类.popover
设置任何div,它显示行为:
两者都是事件,都需要应用于归类为.popover
的元素。在逃跑时摧毁弹出窗口:
$(document).keyup(function(e) {
if (e.keyCode == 27) {
popovers = $(".popover");
//destroy popovers
}
});
但我仍然坚持如何聆听鼠标点击全球,并确定它们是否发生在.popover
之外。
SO answers提到有一个全局点击侦听器,它会销毁所有.popover
并向每个弹出窗口添加一个点击侦听器,以阻止事件传播到全局侦听器。
但我想在全球范围内定义一次,而不是每次为我制作的每一个popover定义一次。我该怎么做?
答案 0 :(得分:0)
$('body').click(function(e) {
if(!$(e.target).hasClass("popover")) {
//if element does not have a ".popover" class => it's outside
$(".popover").remove();
}
});
其中e.target是您点击的元素
答案 1 :(得分:0)