我搜索了我的一个网站,当我按下我的div时,它会显示所有类别。单击某个类别时,div将自行关闭。我的问题是,如果客户点击我的div并且不想点击任何类别,我希望只要该客户点击它之外的任何地方就关闭该div。
这是我的HTML:
<div id="wrap-categories">
<p>Choose a category</p>
<img src="..." alt="white-arrow">
<ul class="" style="display: none;">
<li data-value="1">Category 1</li>
<li data-value="2">Category 2</li>
<li data-value="3">Category 3</li>
</ul>
</div>
这是我的Javascript,每当我尝试点击div外部以关闭它时,它无法正常工作:
$('#wrap-categories > p').click(function() {
$('#wrap-categories > ul').addClass('opened').show();
});
if($('#wrap-categories > ul').hasClass('opened')) {
$(document).click(function(e) {
console.log(1);
// close div here
});
}
它的作用是即使我点击div#wrap-categories,它已经在console.log中放了1。但是我真的需要关闭它,只有当用户在打开div时克服它之外,并且还有类#&#34;打开&#34;。