我最近一直在玩jQuery,我决定提出这个简单的待办事项列表应用程序。我的代码的问题是,当我检查不是第一项的项目时,pygame.init()
width,height = 1080,810
keys = [False,False,False,False]
screen = pygame.display.set_mode((width,height))
game_running = True
background = pygame.image.load("resources/images/background.png")
while game_running:
screen.fill((0,0,0))
screen.blit(background,(0,0))
函数不起作用。但是,在检查完第一个项目后,它将开始为所有其他项目工作。注意:第一项是内置的,与其他项目相比没有动态添加。此外,在检出所有项目后,如果我添加一个新项目,它就不起作用了!
fadeOut()
答案 0 :(得分:0)
尝试如下:
替换这些行:
var remove = function() {
$(".card").on("click", function(event) {
$(this).fadeOut();
});
}
$(".card").on("click", function(event) {
remove();
});
带
$(document).on("click", ".card", function(event) {
$(this).fadeOut();
});
答案 1 :(得分:0)
$(".card").on("click", function(event) {
remove();
});
此行最初将删除功能绑定到"单击"您提到的第一张预先存在的.card的事件。所以单击一次将调用remove函数,然后将fadeOut()函数重新绑定到当时当前存在的任何.cards(包括新创建的.cards)。但是如果你之后添加更多内容,他们就不会获得事件绑定,因为在调用它时它们并不存在。
尝试将remove()函数更改为:
function remove(event){
$(event.target).fadeOut()
}
保持最初的.on("点击" ...在主函数结束时调用以绑定任何已存在的卡,但添加到addComment()代码以包含绑定以及每个新评论知道如何处理事件
...
$($card).append($cardBody);
$($card).on("click",function(event){remove(event)});
$(".todos").append($card);
...