jQuery点击div以外的地方隐藏div

首先点击显示某个div,然后要求再次点击时消失,或者点击document的其他地方会隐藏掉这个层,涉及到冒泡的问题,阻止document冒泡到dom上。代码如下:

var $el = $(".search-more, .article-query-list li");$el.click(function(e){e.stopPropagation();$(this).toggleClass('active');});$(document).on('click',function(e){if(($(e.target) != $el) && ($el.hasClass('active'))){$el.removeClass('active');// console.log("yes");}});

转载: