En utilisant
document.addEventListener("scroll", scrollListener, true);
œuvres. L'écouteur d'événement est appelé. Je devais toujours obtenir l'élément racine pour obtenir les valeurs de défilement. Dans mon cas, j'avais un élément descendant pour commencer. Quoi qu'il en soit, voici une partie du code que j'ai utilisé dans ma fonction onScroll.
if(!x.scrollObj){
x.scrollObj = x.doc;
var scrollObj = x.bElem.parentNode;
while(scrollObj && scrollObj.nodeName != 'BODY'){
var overflowY = x.doc.defaultView.getComputedStyle(scrollObj, null).overflowY;
if( overflowY == 'auto' || overflowY == 'scroll'){
x.scrollObj = scrollObj;
break;
}
scrollObj = scrollObj.parentNode;
}
}
var w = x.doc.defaultView;
var scrollY = w.scrollY, scrollHeight = x.doc.body.scrollHeight;
if(x.scrollObj&& x.scrollObj != x.doc){
scrollY = x.scrollObj.scrollTop;
scrollHeight = x.scrollObj.scrollHeight;
}
J'avais essayé de déterminer la scrollObj avant la mise en place de la fonction OnScroll, mais cuil.com, ils ont effectivement mis en place le trop-plein plus tard.