Jquery检测包含元素的滚动

我有一个文件结构,其中index.php头包含我的JS文件和JQ。 索引文件中的内容加载了一个php include标签来加载wall.php,因为它太动态了。

在wall.php中我有一个id为’wrapper’的div,我想检测该div中的滚动事件,但它似乎没有触发。

这是我的JQ

$(document).on('scroll', '#wrapper', function() { alert('test'); }); 

(我有det文件就绪function – 其他JQ工程)

有人知道为什么吗?

scroll事件不会冒泡,也无法委托给文档。

添加了PHP包含的内容并不是真正的动态,因为它是在页面加载后添加的,所以你不需要委托,只需要

 $('#wrapper').on('scroll', , function() { alert('test'); }); 

除非将css属性溢出设置为滚动,否则它不会检测滚动,并且div容器实际上是可滚动的。 我在JSFiddle上做了一个小实现。

CSS

 #wrapper{ height: 200px; overflow: scroll; } 

jQuery的

 $('#wrapper').on('scroll', function(){ alert("Scroll Detected"); }); 

只有当div变小时,它才会变得可滚动,然后可以检测到滚动。

的jsfiddle