因为我的”.ui-checkbox-new”,是页面新添加的元素,所以在绑定事件的时候,就用on。在在用on绑定事件的时候,这个click事件会触发两次。用alert函数测试的时候,“1–11–1–11”。
https://blog.csdn.net/JaneLittle/article/details/60778352
在网上寻找解决方法:在代码中加入return false; 阻止冒泡事件后,程序就可以正常运行,不会执行两次了。
$("#today").on("click",".ui-checkbox-new",function(){
var indexList = $(this).index();
alert(1);
console.log(indexList +" "+ localStorage.getItem('workDone'+indexList) +" ");
// $(this).remove();
localStorage.removeItem('workDone'+indexList);
localStorage.setItem("workDone"+indexList,localStorage.getItem('work'+indexList));
var htmlDone='';
htmlDone ='<div class="ui-checkbox ui-checkbox-new" ><label for="checkbox-done-'+(indexList)+'" class="ui-btn ui-corner-all ui-btn-c ui-btn-icon-left ui-checkbox-on ui-first-child ui-last-child">'+localStorage.getItem('workDone'+indexList)+'</label><input type="checkbox" name="checkbox-a" data-theme="c" id="checkbox-done-'+(indexList)+'"></div>';
alert(11);
$("#hadDone").append(htmlDone);
return false;
//阻止时间冒泡,添加之后能够正常运行,只运行一次
});