gpt4 book ai didi

javascript - 当鼠标在 mousedown 和 mouseup 之间移动时如何使用 Javascript 捕获鼠标点击

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:50 26 4
gpt4 key购买 nike

我正在使用来自 this tutorial 的代码构建一个带有滚动 Javascript 时间线的网站.教程中有一个演示 here .

我的问题如下:如果用户点击时间轴来拖动它,而他们恰好点击了一个链接,那么当鼠标按钮被释放时,浏览器将其解释为点击链接。因此,很容易意外地离开时间线。

我想要的行为如下:点击链接触发导航如果鼠标没有在mousedown鼠标悬停。如果在按住按钮的同时移动了鼠标,则不会点击链接,因为用户试图移动时间轴而不是单击链接。

这可能吗?我感觉我们需要一个 is_mouse_moved bool 变量,它在 mousedown 上设置为 false,在 mousemove 上设置为 true。然后在 mouseup 上,我们检查是否将 mouseup 事件“传递”给浏览器。如您所知,我对 js 不是很熟悉!

感谢任何帮助。

最佳答案

你是对的。解决方案只是创建一个标志变量,每当用户拖动时间线时,( event.preventDefault() ) anchor 标记。但是,此解决方案可能会造成更多错误,因为如果用户“不小心”稍微拖动了时间线,但他/她想要的是单击链接怎么办?时间轴可能不再那么灵敏了。

我的建议是,防止默认所有 anchor 标签,然后使用双击访问特定链接。

关于javascript - 当鼠标在 mousedown 和 mouseup 之间移动时如何使用 Javascript 捕获鼠标点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com