https://jsfiddle.net/1r6k4b7n/
现在的问题是,如果拖拽滚动后,松开鼠标会直接打开鼠标下方的链接
需求是如果进行拖拽则不会激活方格的链接。
在我之前的理解中,只需要在 mouseup 事件中加一个阻止事件冒泡即可实现:
const stopDragging = () => {
isDragging = false;
e.stopPropagation(); //阻止事件冒泡
e.preventDefault(); //或者加这个,阻止默认事件
}
但事实不是如此,仍然会在拖拽后激活链接。
然后针对这个问题与 ChatGPT 进行了长时间对话,ChatGPT 给的方案就是在拖拽时移除所有 a 的 click 事件,然后 mouseup 后加回去,但实际的情况是打开链接是在 mouseup 后激活的,所以无效。
所以求助各位大神,就是拖拽滚动松开鼠标后不要打开链接,应该如何优雅的实现?
例子代码非常简单,放在: https://jsfiddle.net/1r6k4b7n/