【问题标题】:Enable page scrolling on <canvas> element在 <canvas> 元素上启用页面滚动
【发布时间】:2017-02-13 21:50:05
【问题描述】:

目前,我网页上的一个画布元素(由第三方构建)正在拦截拖动事件(因为它假定您要在画布内拖动某些东西),但这可能会将用户“困”在画布内,尤其是如果他们在手机上放大它。我希望用户能够在画布上上下滚动/滑动以到达其上方和下方的页面其余部分,就像它是任何其他 HTML 元素一样。他们应该仍然可以点击画布,我只是不希望画布拦截常规的页面滚动。

编辑:我能够在第三方代码中找到 wheelmousewheel 事件并将它们从画布对象中删除,从而解决了桌面用户的问题。哪个事件与移动用户相关?我尝试删除 touchmove 没有成功。

【问题讨论】:

    标签: javascript jquery scroll html5-canvas


    【解决方案1】:

    您的问题似乎是您没有正确区分滚动和拖动。

    我建议您仅在实际发生拖动时才阻止默认滚动

    【讨论】:

    • 谢谢。我曾假设画布元素立即阻止滚动,但您的回答表明情况可能并非如此,这意味着我必须找到在第三方代码中阻止默认滚动的位置。我编辑了我的问题以使其更清楚。我现在解决了桌面用户的问题,但仍然需要找到第三方可能拦截滚动的移动用户的相关事件。
    • 我最终删除了第三方代码中的所有“触摸”事件,它解决了我的问题。感谢您的回答,它帮助我走上了正轨。
    猜你喜欢
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多