Détecter si un défilement de l'événement est déclenché manuellement en jQuery

Cette question a déjà été posée ici il y a longtemps:

Détecter jquery événement de déclenchement par l'utilisateur ou de l'appel par le code

Mais il n'a jamais été répondu de façon concluante (ou peut-être que je suis tout simplement pas en mesure de rechercher correctement).

Est-il possible de détecter si un scroll événement a été déclenché par l'utilisateur ou par le jQuery animate fonction?

Je suis en train d'essayer d'empêcher le scroll événement pour déclencher lui-même tout en faisant quelque chose comme ceci:

$(document).scroll(function(){
    $("html").stop(true);
    var number = 400; //some other stuff is happening here
    clearTimeout(tout);
    tout = setTimeout(function(){
        if(top == $(document).scrollTop()){
            $("html").animate({
                scrollTop: (number),
                easing: "easeInQuad",
                duration: 110
            });
        }
    },120);
});

Ce code semble être adaptée:

$('#scroller').scroll(function(e) {
    if (e.originalEvent) {
        console.log('scroll happen manual scroll');
    } else {
        console.log('scroll happen by call');
    }
});

Mais la originalEvent objet n'est pas en mesure de détecter les animer déclencher correctement.

Est-il un autre moyen pour ce faire?

OriginalL'auteur BluBb_mADe | 2013-12-23