scrollIntoView({behavior: "smooth"})滑动过程中进行了原生事件的监听就会阻断该事件继续执行,怎样实现不阻断呢
时间: 2023-06-24 09:08:28 浏览: 198
ScrollView 的滚动事件监听
4星 · 用户满意度95%
可以使用 `addEventListener` 方法来添加事件监听器,并在事件处理函数中使用 `event.stopPropagation()` 方法来防止事件传播被阻止。示例代码如下:
```javascript
function smoothScrollTo(element) {
element.scrollIntoView({ behavior: 'smooth' });
}
function handleClick(event) {
// 防止事件传播被阻止
event.stopPropagation();
console.log('Clicked');
}
const button = document.querySelector('button');
button.addEventListener('click', handleClick);
const targetElement = document.querySelector('#target');
smoothScrollTo(targetElement);
```
在上面的代码中,我们使用 `addEventListener` 方法来添加 `click` 事件的处理函数 `handleClick`,然后在该函数中使用 `event.stopPropagation()` 方法来防止事件传播被阻止。这样,在执行 `scrollIntoView` 方法时,即使滑动过程中发生了点击事件,该事件也不会被阻止。
阅读全文