结构.js - 触摸事件传播



我有一个HTML5页面,它看起来像这样:

<html>
<head></head>
<body>
<canvas id="c1" width="500" height="500" />
</body>
</html>

我使用 Bootstrap 3 和 Fabric.js 作为画布库。当我在移动设备上运行它时,我遇到了一个问题,当我触摸画布上的对象并移动它时,页面也会移动。似乎触摸事件也由移动设备浏览器处理。

我期望的是停止移动设备浏览器的默认事件句柄,因此当我触摸画布中的对象并移动它时,网页也不会移动。我如何使用Fabric.js做到这一点?

我在制作 html 时改变了方式:

<meta name="viewport" content="width=device-width, initial-scale=0.5, user-scalable=no">

然后,为了防止浏览器默认缩放跳出,我们可以在文档中绑定"触摸移动"并禁用它。这是来自jQuery移动,但vmousemove = touchmove以某种方式用于移动设备。

$(document).on("vmousemove", "body", function(e) {
                    e.stopPropagation();
                    e.preventDefault();
                    return false;
                });

无论如何.js这与 Fabric 无关,所以我不必更改 Fabric.js否则。

最新更新