当前位置 : 主页 > 手机开发 > 无线 >

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

来源:互联网 收集:自由互联 发布时间:2021-06-10
我正在使用滚动的 javascript时间线构建一个网站,使用 this tutorial的代码.有一个演示可以使用教程 here. 我的问题如下:如果用户点击时间轴进行拖动,并且他们碰巧点击链接,那么当释放鼠
我正在使用滚动的 javascript时间线构建一个网站,使用 this tutorial的代码.有一个演示可以使用教程 here.

我的问题如下:如果用户点击时间轴进行拖动,并且他们碰巧点击链接,那么当释放鼠标按钮时,浏览器会将其解释为点击链接.因此,很容易意外地离开时间轴.

我想要的行为如下:如果鼠标尚未在mousedown和mouseup之间移动,则单击链接仅触发导航.如果在按住按钮的同时移动鼠标,则不会跟踪链接,因为用户正在尝试移动时间轴而不是单击链接.

这可能吗?我有一种感觉,我们需要一个is_mouse_moved布尔变量,在mousedown上设置为false,在mousemove上设置为true.然后在mouseup上检查是否将mouseup事件“传递”到浏览器.你可以告诉我,我对js并不过分熟悉!

任何帮助赞赏.

你的正确.解决方案只是创建一个标志变量,每当用户拖动时间轴时( event.preventDefault())锚标记.这个解决方案可能会造成更多错误,因为如果用户“意外”轻微拖动时间线,但他/她想要的是点击链接?时间表可能不再具有响应性.

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

网友评论