html - JavaScript 事件绑定只能执行一次了,再次点击就变得无效 ,求助怎么回事
PHP中文网
PHP中文网 2017-04-11 09:16:48
[JavaScript讨论组]

点击收藏,弹出提示框,询问是否取消收藏,然后点击提示框里面的关闭按钮,关闭提示框后。再次点击那个触发事件的 收藏按钮就会无效 图片描述

var collectionBtn = document.querySelectorAll('.collection-center .collection-shouc');

var Ceng = "<p id='alert' class='alert'><p class='alert-k'><p class='alert-k-close'>×</p><a class='yes' href='javascript:;'>确定</a><a class='no'  href='javascript:;'>取消</a></p></p>";

for(var i = 0; i<collectionBtn.length; i++){
    collectionBtn[i].addEventListener('click',addEvent,false);
}

function addEvent(){
        if(document.querySelector('#alert')){
            shows();
        }else{
            document.body.innerHTML += Ceng;
            shows();
        }
    }

function shows(){
    var ale   = $('.alert');
    var ale_k =  ale.find('.alert-k');
    ale.show(500);
    ale_k.slideDown(200);
    hides();
    
}
function hides(){
    var ale = $('.alert');
    $('.alert-k').on('click', '.alert-k-close', function(){
        $(this).parent().slideUp(200);
        $(this).parent().parent().hide(500);
    });
}
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
阿神
  1. 按钮确定取消效果反了. 确定就是确定操作, 取消就是单纯隐藏这个confirm的p

  2. 我猜你重新生成了一个按钮, 这样之前绑定的事件就和之前的按钮一起被销毁了
    解决方法:

             1> 绑定的时候用 $("document").on("click", ".某元素" , function(){});
             2> 或者只用这一个元素就可以了, 没有必要重新生成一个按钮
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号