jQuery单击按钮将显示div,再次单击页面的任何区域将隐藏div?
我有这样的标记。它是用于有人单击的按钮jQuery单击按钮将显示div,再次单击页面的任何区域将隐藏div?,jquery,html,jquery-ui,Jquery,Html,Jquery Ui,我有这样的标记。它是用于有人单击的按钮 <div class="logout-wrap"> <div class="account-info"> <a href="../profile.php">admin ADMIN</a> </div><!--.account-info--> <div class="account-info-icon"> <ul> <li><a
<div class="logout-wrap">
<div class="account-info"> <a href="../profile.php">admin ADMIN</a>
</div><!--.account-info-->
<div class="account-info-icon">
<ul>
<li><a href="" class="account-sprited notice"><span>5</span></a></li>
<li><a href="" class="account-sprited profile profiletest"></a></li>
</ul>
</div>
</div>
现在显示错误,如
TypeError:event.target未定义
将其添加到document.ready函数中的脚本中
jQuery("body").click(function(e){ //or jQuery(document)
if(e.target.className !== "profile")
{
jQuery('div.account-info-box').hide();
}
});
最终代码(更新)
jQuery(文档).ready(函数(){
jQuery('div.account-info-box').hide();
jQuery('a.profile')。单击(函数(事件){
event.preventDefault();
jQuery('div.account-info-box').show();
});
jQuery(“body”)。单击(函数(e){//或jQuery(文档)
如果(如:target.className!=“profile”)
{
jQuery('div.account-info-box').hide();
}
});
});
document.Click=Hide();
//要在按钮上显示,请单击
$(“.bottom info”)。单击(函数(){
$(“.account info box”).attr(“显示”、“阻止”);
});
//隐藏它
隐藏(函数(){
$(“.account info box”).attr(“显示”、“无”);
});
$(文档)。单击?但您必须检查是否未单击a.profile
,因为这将打开您的div
使用委派事件,并使用if($(event.target).closest(selector.length)return进行筛选代码>方法或者更好,使用DIV的焦点/模糊逻辑。这已经被问过了,搜索SOyes这个很好,但是当我重新加载DIV显示内容的年龄时。我希望重新加载页面时div.account-info-box也应该隐藏。jQuery('div.account-info-box').hide()代码>你删除了这个吗??将此添加到您的脚本…然后有一些东西正在破坏您的代码。。。你能为这个做一个修改吗?让我们使用你最新的代码,帐户信息的div框总是显示display none
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('div.account-info-box').hide();
jQuery('a.profile').click(function(event){
event.preventDefault();
jQuery('div.account-info-box').show();
});
});
</script>
jQuery(document).ready(function() {
jQuery('div.account-info-box').hide();
jQuery('.profiletest').click(function(event){
event.preventDefault();
jQuery('div.account-info-box').show();
});
});
jQuery(document).ready(function(event) {
if(event.target.ClassName !== 'profiletest') {
jQuery('div.account-info-box').hide();
}
});
jQuery("body").click(function(e){ //or jQuery(document)
if(e.target.className !== "profile")
{
jQuery('div.account-info-box').hide();
}
});
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('div.account-info-box').hide();
jQuery('a.profile').click(function(event){
event.preventDefault();
jQuery('div.account-info-box').show();
});
jQuery("body").click(function(e){ //or jQuery(document)
if(e.target.className !== "profile")
{
jQuery('div.account-info-box').hide();
}
});
});
</script>
<script type="text/jscript">
document.Click = Hide();
//to show on button click
$(".bottom-info").Click(function(){
$(".account-info-box").attr("display","block");
});
//to hide it
Hide(function(){
$(".account-info-box").attr("display","none");
});
<script>