我正在使用滚动的 javascript时间线构建一个网站,使用 this tutorial的代码.有一个演示可以使用教程 here. 我的问题如下:如果用户点击时间轴进行拖动,并且他们碰巧点击链接,那么当释放鼠
我的问题如下:如果用户点击时间轴进行拖动,并且他们碰巧点击链接,那么当释放鼠标按钮时,浏览器会将其解释为点击链接.因此,很容易意外地离开时间轴.
我想要的行为如下:如果鼠标尚未在mousedown和mouseup之间移动,则单击链接仅触发导航.如果在按住按钮的同时移动鼠标,则不会跟踪链接,因为用户正在尝试移动时间轴而不是单击链接.
这可能吗?我有一种感觉,我们需要一个is_mouse_moved布尔变量,在mousedown上设置为false,在mousemove上设置为true.然后在mouseup上检查是否将mouseup事件“传递”到浏览器.你可以告诉我,我对js并不过分熟悉!
任何帮助赞赏.
你的正确.解决方案只是创建一个标志变量,每当用户拖动时间轴时( event.preventDefault())锚标记.这个解决方案可能会造成更多错误,因为如果用户“意外”轻微拖动时间线,但他/她想要的是点击链接?时间表可能不再具有响应性.我的建议是,防止默认所有锚标签然后使用双击访问特定链接.