切换 – 在div外部单击时隐藏项目
我正在使用jquery的slidetoggle,想要学习如何在点击DIV之外的任何地方时隐藏showup
类。 谢谢!
在线样本: http : //jsfiddle.net/evGd6/
click me something I want to show
$(document).ready(function(){ $('.click').click(function(){ $(".showup").slideToggle("fast"); }); });
.showup { width: 100px; height: 100px; background: red; display:none; } .click { cursor: pointer; }
停止.showup
区域内的事件传播:
$(document).on("click", function () { $(".showup").hide(); });
然后防止.showup
上的那些点击冒泡到document
:
$(".showup").on("click", function (event) { event.stopPropagation(); });
到达document
任何单击事件都将导致隐藏.showup
元素。 从.showup
内开始的任何点击事件.showup
将被阻止进一步向上进行DOM树,因此永远不会到达document
。
您还需要停止对按钮的任何点击,直至到达document
:
$(".click").on("click", function (event) { event.stopPropagation(); $(".showup").slideToggle("fast"); });
否则,单击事件将冒泡到document
并导致立即隐藏.showup
。
演示: http : //jsfiddle.net/evGd6/2/