fadeOut()函数仅适用于第一项

时间:2017-12-19 00:09:30

标签: jquery html css bootstrap-4

我最近一直在玩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()

2 个答案:

答案 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);
...