为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 事件绑定只能执行一次了,再次点击就变得无效 ,求助怎么回事

JavaScript 事件绑定只能执行一次了,再次点击就变得无效 ,求助怎么回事

Smart猫小萌 2018-09-06 09:15:58
点击收藏,弹出提示框,询问是否取消收藏,然后点击提示框里面的关闭按钮,关闭提示框后。再次点击那个触发事件的 收藏按钮就会无效 图片描述var collectionBtn = document.querySelectorAll('.collection-center .collection-shouc');var Ceng = "<div id='alert' class='alert'><div class='alert-k'><div class='alert-k-close'>×</div><a class='yes' href='javascript:;'>确定</a><a class='no'  href='javascript:;'>取消</a></div></div>";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);    });}
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

  1. 按钮确定取消效果反了. 确定就是确定操作, 取消就是单纯隐藏这个confirm的div

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

             1> 绑定的时候用 $("document").on("click", ".某元素" , function(){});
2> 或者只用这一个元素就可以了, 没有必要重新生成一个按钮


查看完整回答
反对 回复 2018-10-30
  • 1 回答
  • 0 关注
  • 3253 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号