我试图隐藏引导酥料饼当用户点击酥料饼以外的任何地方。 (我真的不确定为什么Bootstrap的创建者决定不提供此功能。)上点击隐藏引导酥料饼外酥料饼
我发现下面的代码on the web但我真的不明白它。
// Hide popover on click anywhere on the document except itself
$(document).click(function(e) {
// Check for click on the popup itself
$('.popover').click(function() {
return false; // Do nothing
});
// Clicking on document other than popup then hide the popup
$('.pop').popover('hide');
});
我觉得困惑的主要是行$('.popover').click(function() { return false; });
。这行不是为click事件添加事件处理程序吗?这是如何防止隐藏popover的电话popover('hide')
?
还有谁见过更好的技术?
注:我知道这个问题的变化之前已经在这里问,但这些问题的答案涉及代码要比上面的代码更加复杂。所以我的问题实际上是关于上面的代码
阅读此:http:// stackoverflow。com/questions/1357118/event-preventdefault-vs-return-false – Icarus
@Icarus:谢谢,但这并没有真正回答我的问题。我知道返回false会停止进一步的处理,但是如何添加点击处理程序来改变随后行的行为?在弹出窗口关闭后,这不会阻止点击工作吗? –
该代码完全符合您所描述的内容。每次有人在文档的任何地方点击(包括'.popover'),它都会添加一个事件监听器,它完全不会做任何事情。这只是一种内存浪费,因为在同一个元素上可能有很多事件监听器,对于同一个事件,他们只会结束堆叠在一起 – Dogoku