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

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

https://img4.mukewang.com/5bd8009800013b5210960729.jpg

https://img4.mukewang.com/5bd800a100014e3407970353.jpg

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);

    });

}


Smart猫小萌
浏览 3254回答 1
1回答

白猪掌柜的

按钮确定取消效果反了. 确定就是确定操作, 取消就是单纯隐藏这个confirm的div我猜你重新生成了一个按钮, 这样之前绑定的事件就和之前的按钮一起被销毁了&nbsp;解决方法:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1>&nbsp;绑定的时候用&nbsp;$("document").on("click",&nbsp;".某元素"&nbsp;,&nbsp;function(){});2>&nbsp;或者只用这一个元素就可以了,&nbsp;没有必要重新生成一个按钮
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript