首先點擊顯示某個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"); } });