Jquery 代码如下 如何修改使得每次关闭弹窗时只显示一次提示框?而不是随着点击“弹窗”的次数而增多?
<html><head><metacharset="utf-8"/><title>弹窗BUG</title><scriptsrc="jquery-1.6.4.min.js...
<html>
<head>
<meta charset="utf-8" />
<title> 弹窗BUG</title>
<script src="jquery-1.6.4.min.js"></script>
<style>
.popDiv{
width:500px;
padding:10px;
border:1px solid red;
position:absolute;
left:50%;
margin-left:-250px;
top:100px;
background-color:#fff;
display:none;
z-index:4;
}
</style>
</head>
<body>
<a href="#" class="pop">弹窗</a>
<div class="popDiv">
<p>view</p>
<a href="#" class="close">关闭</a>
</div>
<script>
$('.pop').click(function(){
$('.popDiv').show();
//close
$('.close').click(function(){
$(this).parent().hide();
alert('已关闭');
});
});
</script>
</body>
</html> 展开
<head>
<meta charset="utf-8" />
<title> 弹窗BUG</title>
<script src="jquery-1.6.4.min.js"></script>
<style>
.popDiv{
width:500px;
padding:10px;
border:1px solid red;
position:absolute;
left:50%;
margin-left:-250px;
top:100px;
background-color:#fff;
display:none;
z-index:4;
}
</style>
</head>
<body>
<a href="#" class="pop">弹窗</a>
<div class="popDiv">
<p>view</p>
<a href="#" class="close">关闭</a>
</div>
<script>
$('.pop').click(function(){
$('.popDiv').show();
//close
$('.close').click(function(){
$(this).parent().hide();
alert('已关闭');
});
});
</script>
</body>
</html> 展开
1个回答
展开全部
你的问题在于,每次触发弹窗的时候就又进行了事件的注册,你在.close上注册了太多次事件了,问题代码:
$('.pop').click(function(){
$('.popDiv').show();
//close
$('.close').click(function(){
$(this).parent().hide();
alert('已关闭');
});
});
应该在一开始就注册号关闭事件,正确代码如下:
$('.pop').click(function(){
$('.popDiv').show();
});
//close
$('.close').click(function(){
$(this).parent().hide();
alert('已关闭');
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询