1,问题:在给div添加scroll监听事件时,发现添加失败,即在添加的方法中没有执行要添加方法,如下
document.querySelector('.appMain').addEventListener('scroll',this.handleScroll,true)
2,发现问题
在寻找问题的过程中,使用window添加 scroll 监听事件时可以的,但是在div上添加scroll监听事件的方法没有执行。
问题原因:在滚动鼠标时,其实是滚动的 body元素上(即body有滚动条,div上无滚动条),所以在执行鼠标滚动时,就监听不到div上有scroll事件。
3,解决方案:
①重构body的height元素:如下
html,body{
height: 100%;
}
②在body下的元素(最顶层div,也是要监听的div)上添加如下代码
.app{
overflow-y auto;
height 100%
width 100%
position relative
}
关键词是 overflow-y auto;
添加完后,div上的监听方法可以执行。