标签:jquery javascript javascript-events mouseevent
我正在使用滚动的javascript时间线构建一个网站,使用this tutorial的代码.有一个演示可以使用教程here.
我的问题如下:如果用户点击时间轴进行拖动,并且他们碰巧点击链接,那么当释放鼠标按钮时,浏览器会将其解释为点击链接.因此,很容易意外地离开时间轴.
我想要的行为如下:如果鼠标尚未在mousedown和mouseup之间移动,则单击链接仅触发导航.如果在按住按钮的同时移动鼠标,则不会跟踪链接,因为用户正在尝试移动时间轴而不是单击链接.
这可能吗?我有一种感觉,我们需要一个is_mouse_moved布尔变量,在mousedown上设置为false,在mousemove上设置为true.然后在mouseup上检查是否将mouseup事件“传递”到浏览器.你可以告诉我,我对js并不过分熟悉!
任何帮助赞赏.
解决方法:
你的正确.解决方案只是创建一个标志变量,每当用户拖动时间轴时(event.preventDefault())锚标记.这个解决方案可能会造成更多错误,因为如果用户“意外”轻微拖动时间线,但他/她想要的是点击链接?时间表可能不再具有响应性.
我的建议是,防止默认所有锚标签然后使用双击访问特定链接.
标签:jquery,javascript,javascript-events,mouseevent 来源: https://codeday.me/bug/20190606/1189803.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。