使用jquery在容器外单击时隐藏div
我想隐藏一个div,当他们点击它时。 为此我有这个完美的代码:
var box3=$(".despcnt"); box3.mouseup(function () { return false; }); $(this).mouseup(function (a) { if(!($(a.target).parent(".despcnt").length>0)){ box3.removeClass("dino");box3.hide() } });
但我想排除在课堂上。 Despcnt一个链接,有类desplcnt所以当点击书房外或关闭相同的链接...没有试过把它没有工作。
任何想法?
HTML
<a class="desplcnt" href="#">Link</a>
<div class="despcnt">
<ul>
<li><a data-value="1" href="#">Title</a></li>
</ul>
</div>
var $despcnt = $(".despcnt");
/* Hide the popup whereas clicking outside */
$(document).on("click", function() {
$despcnt.hide();
});
/* Don't hide the popup whereas clicking inside */
$despcnt.on("click", function(evt) {
evt.stopPropagation();
});
所以,当你点击标题时,你想链接隐藏。 但是当你点击其他任何地方时,你希望标题隐藏? 如果是这样,您可以指定Title
mouseup
事件,然后隐藏该链接,然后使用e.stopPropagation()
以绕过使用this
时附加到窗口的全局mouseup
。 这里是一个演示:http://jsfiddle.net/pUnvR/1/
代码如下:
HTML
<a class="desplcnt" href="#">Link</a>
<div class="despcnt">
<ul>
<li><a data-value="1" href="#">Title</a></li>
</ul>
</div>
JS
var box3=$(".despcnt");
box3.mouseup(function (e) {
$(".desplcnt").hide();
e.stopPropagation();
});
$(this).mouseup(function (a) {
if(!($(a.target).parent(".despcnt").length>0)){
box3.removeClass("dino");
box3.hide();
}
});
链接地址: http://www.djcxy.com/p/83647.html
上一篇: hide div when clicking outside the container with jquery
下一篇: In jQuery, how to attach events to dynamic html elements?