2014-03-06 228 views
1

http://codepen.io/anon/pen/dpiBsSnap.svg点击事件可拖动,事件触发没有在触摸设备上

我有一组,包含两个矩形。红色矩形上有点击事件,显示警报消息。父组是可拖动的。

在计算机上,当您拖动红色矩形时,它会移动,并在拖动结束时显示警报。那没问题。但在触控设备上(使用iOS7在iPad 3上测试),您可以拖动这些矩形,但红色矩形上的单击事件从不会执行。

有什么办法如何在触摸设备上的红色矩形上启用该点击事件? 此外,任何建议如何摆脱在计算机上的拖动结束点击事件是值得欢迎的。

感谢您的帮助。

+1

你玩过http://snapsvg.io/docs/#Element.touchstart吗?想知道如果这可能有所帮助。 – Ian

回答

1

伊恩指出我正确的方向。在触控设备上,我们必须使用touchstart和touchend事件。我使用modernizr来检测触摸设备。这里是新的codepen,这是我的工作:http://codepen.io/anon/pen/yDKep

非常感谢伊恩!

编辑:我的解决方案不适用于Android。例如,检查touchstart和touchend上的目标元素是否具有相同的id比较好。