我有一套6个div面板可以放下来。过度或感动。一旦每个面板被击中,我记录下来然后在所有6个被击中后做一些事情
mousedown和mousemove正在按预期工作,但对于移动设备,touchmove仅在第一个面板上触发我移动手指。
我理解这是因为touchmove的工作原理,但我正在努力为我想要实现的目标找到一个解决方法,知道所有6个面板都被触及了。
示例(适用鼠标但可在手机上试用) http://jsfiddle.net/xT7n7/3/embedded/result/
相关守则:
// when one of the 6 panels is moused over
$("div.panel").bind("mousemove", (function () {
if (is_mouse_down) {
total_hits++;
$("body").append('<p>Panel has been hit</p>');
if ($(this).hasClass('win')) {
win_hits++;
}
$(this).unbind('mousemove');
}
}));
// when one of the 6 panels is 'touched'
$("div.panel").bind("touchmove", (function () {
total_hits++;
$("body").append('<p>Panel has been hit</p>');
if ($(this).hasClass('win')) {
win_hits++;
}
$(this).unbind('touchmove');
}));
编辑:根据评论,我尝试按照这篇文章中的建议(http://www.devinrolsen.com/basic-jquery-touchmove-event-setup/)修改代码,但没有区别。
编辑2:看起来我可以通过检查mouseup / touchend上的所有canvas元素并使用toDateURL()