首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击动态加载的内容迭代事件

单击动态加载的内容迭代事件
EN

Stack Overflow用户
提问于 2017-03-16 20:37:44
回答 1查看 26关注 0票数 0

我像这样加载动态内容:

代码语言:javascript
复制
$('.cPopUpOverlay').fadeIn('fast');
$('.cPopUpOverlay').append('<div class=\'cPopUpContent\'></div>');
$('.cPopUpContent').load('popups/popup_1.php');
$('.cPopUpContent').fadeIn('fast');

popup_1.php有一些数据和一个简单的按钮。

代码语言:javascript
复制
<input type='button' id='btn_action_add' action='add' value='add'>

同样,在我执行前4行代码的页面中,有以下内容:

代码语言:javascript
复制
$('.cPopUpOverlay').on('click', 'input[type=\'button\']', function() {
    console.log('clicked');
    $('.cPopUpOverlay').fadeOut();
    $('.cPopUpOverlay').html('');
}

基本上,它发送“点击”到控制台,并删除popup_1.php的内容并关闭它。

这一切都运行得很好。除了..。当我打开弹出窗口时,控制台显示“已点击”,当我重新打开弹出窗口时,它显示“已点击(3)”。关闭并单击后再次显示“已单击(6)”

每次我重新打开弹出窗口时,它都会执行n次单击,其中n是我打开弹出窗口的次数。就像单击事件停留在某个地方并一次又一次地执行一样,就好像每次打开弹出窗口时,都会有一个额外的按钮在触发.on(' click ')事件时被计算出来。

我不明白为什么会这样。我使用以下命令来清除内容:

代码语言:javascript
复制
$('.cPopUpOverlay').fadeOut();
$('.cPopUpOverlay').html('');

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-03-16 21:05:30

正如Amenadiel所建议的..。每次单击时,我都会重新声明侦听器。很明显我错过了。抱歉:-/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42834322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档