控制台日志中的递归过多 - 单击时



我在控制台日志中不断收到太多递归并导致我的火狐浏览器崩溃。我知道这与我$(this).find('i.pl-action').click();有关我该如何解决这个问题?

法典:

$( document ).on("click", "#genre-playlist-entries li.playlistclicked", function()
{
    $("li.active", "#playlist").removeClass("active");
    $(this).addClass("active");
    $(this).find('i.pl-action').click();
    $(".playlistcontentLoad").attr("data-path", $(this).attr("data-path"));
});

i.pl-action的单击处理程序中写入e.stopPropogation(),以防止子单击传播到父单击并防止递归

$(function(){
   $('i.pl-action').on('click', function(e) {
       e.stopPropogation();
    })
    $( "#genre-playlist-entries li.playlistclicked" ).on("click", function()
    {
        $("li.active", "#playlist").removeClass("active");
        $(this).addClass("active");
        $(this).find('i.pl-action').click();
        $(".playlistcontentLoad").attr("data-path", $(this).attr("data-path"));
    });
})

最新更新