【发布时间】:2016-08-02 18:01:06
【问题描述】:
我有一个名为 datahover 的 Div,我在其中放置了 jquery,这样如果我在该 Div 内部单击它就不会隐藏,但是当我在该 Div 外部单击它时它会隐藏。但问题是关闭按钮位于该 div 内,因此当我单击该关闭按钮时,Div 并未隐藏。
这里的关闭按钮是a标签,里面有I标签。
HTML 代码:
<div class="datahover">
<a href="javascript:void(0);"><i class="fa fa-times" aria-hidden="true"></i></a>
<div class="facultydata">
<div class="leftside">
<img src="deepak.jpg">
<h3>Deepak Chaudhary</h3>
</div>
<div class="table-responsive";
<table class="table">
<tbody>
<tr>
<th>Designation</td>
<td>ME</td>
</tr>
<tr>
<th>Qualification</td>
<td>CE</td>
</tr>
<tr>
<th>Teaching Experience</td>
<td>8 Years</td>
</tr>
<tr>
<th>Industry Experience</td>
<td>7 Years</td>
</tr>
<tr>
<th>Department</td>
<td>Computer</td>
</tr>
<tr>
<th>Area</td>
<td>All</td>
</tr>
<tr>
<th>Email</td>
<td>dac81048@gmail.com</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
jquery 代码:
/** datahover hide on click outside **/
$(document).mouseup(function (e)
{
var container = $(".datahover");
if (!container.is(e.target) && container.has(e.target).length === 0)
{
container.css({"display": "none"});
$('.facultysection').css({"background": "#fff"});
if ($(window).width() > 767) {
$('html, body').css({"overflow-x": "hidden", "overflow-y": "auto"});
}
else
{
$('html, body').css({"overflow-x": "hidden", "overflow-y": "auto"});
}
}
});
【问题讨论】:
-
这是什么东西:
<div class="table-responsive";? -
为什么不直接检查一下目标是否是
$('.datahover > a > i.fa.fa-times')? -
您不会向按钮添加事件以单击并隐藏 div $(".fa-times").on("click", function(){ $(".datahover")。隐藏();});
-
是表的引导类
标签: javascript jquery html css jquery-selectors