我的主要目标是当用户向下滚动时,我需要获取当前的 scrollTop 偏移量。并且用户可以通过在滚动条上单击鼠标或使用鼠标滚轮进行滚动,因此当用户这样做时,我想更新 take()
和 skip()
(或 page()
)参数 ejQuery() 触发 http get 并为该 View 提供数据。
使用 SyncFusion 1
下面的代码是我尝试将指令分配给 ejTreeGrid watch scroll
事件来自 HostListener() ,但正如用户 PierreDuc 所说, ejTreeGrid 实现它的自定义 scroller ,因此默认不会触发。 PierreDuc 建议使用 getScrollTopOffset
方法,但每次用户执行滚动操作时我仍然需要触发它...
指令被附加到 SyncFusion 的 ejTreeGrid 要观看的组件 scroll
事件,但它不会触发。一切都很好 click
事件 - 在该子组件上触发。可能有什么问题?
尝试过:
@HostListener('scrollY', ['$event'])
onScroll(e) {
console.log(e)
}
@HostListener('onscroll', ['$event'])
onScroll2(e) {
console.log(e)
}
@HostListener('scroll', ['$event'])
onScroll3(e) {
console.log(e)
}
@HostListener('scrollX', ['$event'])
onScroll4(e) {
console.log(e)
}
这有效:
@HostListener('click', ['$event'])
onClick(e) {
console.log('clicked')
console.log(e)
}
更新:
还补充道:
@HostListener('mousewheel', ['$event'])
onScroll5(e) {
console.log('mousewheel')
}
@HostListener('DOMMouseScroll', ['$event'])
onScroll6(e) {
console.log('DOMMouseScroll')
}
@HostListener('onmousewheel', ['$event'])
onScroll7(e) {
console.log('onmousewheel')
}
出于某种原因,只有
mousewheel
被触发并且仅当我滚动鼠标滚轮时(显然)但仅当滚动条位于顶部或底部时。否则它不会火。
最佳答案
下面是工作代码:
@HostListener('document:mousewheel', ['$event'])
onDocumentMousewheelEvent(event) {
console.log('on Mouse wheel Event');
}
Please Check Demo Here
关于angular - 主机监听器滚动事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50229390/