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>
展开
 我来答
Arvin90
2016-10-30 · TA获得超过452个赞
知道小有建树答主
回答量:297
采纳率:89%
帮助的人:234万
展开全部

你的问题在于,每次触发弹窗的时候就又进行了事件的注册,你在.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('已关闭');
});
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式