编程语言
首页 > 编程语言> > javascript – 检测svg元素中的圆圈上的touchmove

javascript – 检测svg元素中的圆圈上的touchmove

作者:互联网

我创建了一个显示SVG元素(嵌入在HTML中)的网站,并希望允许用户通过用鼠标或手指拖动它们来连接点(< circle>元素).

通过监听mousedown和mouseover事件并将线元素添加到SVG,这在桌面上完美运行.

我添加了touchstart,touchmove,touchend和touchcancel的听众,但我遇到了问题.
似乎touchmove永远不会在我的Android手机上的谷歌浏览器和Android平板电脑上的谷歌浏览器上触发,只有当我移开我的手指时才会触发.

编辑:这是我的小提琴代码:http://jsfiddle.net/s5vcfzbq/你可以用鼠标从圆圈拖动到圆圈来连接它们,但它在触摸屏上不起作用.

解决方法:

我建议使用InteractJS来处理触摸事件.它没有任何依赖关系并处理拖动,旋转和多点触控等.

interact('.drag-and-resize').draggable({
   snap: {
   targets: [
    { x: 100, y: 200 },
    function (x, y) { return { x: x % 20, y: y }; }
   ]}
}).resizable({
    inertia: true
});

这是我在Codepen使用SVG拼凑而成的演示

标签:javascript,svg,html,touchscreen
来源: https://codeday.me/bug/20190708/1403393.html