window.addEventListener scroll忽略子元素滚动
时间: 2023-10-18 15:43:34 浏览: 174
window.addEventListener来解决让一个js事件执行多个函数
您可以使用事件委托(event delegation)的方式来实现忽略子元素滚动。具体做法是在父元素上监听滚动事件,然后通过判断事件的触发源来决定是否忽略子元素的滚动。
以下是一个示例代码:
```javascript
window.addEventListener('scroll', function(event) {
var scrollElement = event.target;
// 判断触发源是否为子元素
var isChildScroll = scrollElement !== document.documentElement && scrollElement !== document.body;
if (!isChildScroll) {
// 在这里处理父元素滚动的逻辑
console.log('父元素滚动');
}
});
```
在这个示例中,我们通过判断`event.target`是否为`document.documentElement`或`document.body`来排除子元素的滚动。如果触发源不是子元素,则可以在相应的条件下处理父元素的滚动逻辑。
希望对您有所帮助!如果您有任何其他问题,请随时提问。
阅读全文