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

时间:2017-02-03 16:35:43

标签: jquery click

我一直在控制台日志中收到过多的递归并且崩溃了我的firefox浏览器。我理解这与我的$(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"));
});

1 个答案:

答案 0 :(得分:2)

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

})