Javascript 画布拼图-在拼图的顶部无法识别触摸

Javascript 画布拼图-在拼图的顶部无法识别触摸,javascript,html5-canvas,touch,Javascript,Html5 Canvas,Touch,我正在尝试在画布上为移动设备和标签设备制作一个拼图游戏 我试过的是这样的 现在,我在触摸未正确取下的碎片时遇到了一些问题 触摸仅在底部和下方可识别,而在形状上不可识别 mousemove = function(self, curHover) { return function(e) { e.preventDefault(); e = e.touches ? e.touches[0] : e;

我正在尝试在画布上为移动设备和标签设备制作一个拼图游戏

我试过的是这样的

现在,我在触摸未正确取下的碎片时遇到了一些问题

触摸仅在底部和下方可识别,而在形状上不可识别

             mousemove = function(self, curHover) {
        return function(e) {
            e.preventDefault();
            e = e.touches ? e.touches[0] : e;
            self.lastX = self.x;
            self.lastY = self.y;
            curHover = self._curHover;
            TOUCH_MOVE = true;
            self.x = ((e && e.pageX - self._pos.x + 1 || window.event.offsetX + 1) - 1) / self.__zoom;
            self.y = ((e && e.pageY - self._pos.y + 1 || window.event.offsetY + 1) - 1) / self.__zoom;
            if (!self._clicked && USE_MOUSE_OVER_OUT) {
                var shapeUnderCursor = getObjectUnderCursor(e, self);
                if (shapeUnderCursor) {
                    if (curHover !== shapeUnderCursor) {
                        colectEvent(shapeUnderCursor, "mouseover", e, self);
                        if (curHover) {
                            colectEvent(curHover, "mouseout", e, self)
                        }
                    }
                    self._curHover = curHover = shapeUnderCursor
                } else if (curHover) {
                    colectEvent(curHover, "mouseout", e, self);
                    self._curHover = curHover = null
                }
            }
            if (curHover) {
                colectEvent(curHover, "mousemove", e, self)
            }
            if (eventQueue.length) {
                fireEvents(self, e)
            }
        }
    },
    mousedown = function(self) {
        return function(e) {
            if (!USE_MOUSE_OVER_OUT) {
                self._curHover = getObjectUnderCursor(e, self)
            }
            var curHover = self._curHover,
            which = mouseButtons[e.which || e.button];
            self._clicked = true;
            currentCanvas = self.cv;
            self[which] = true;
            if (curHover) {
                colectEvent(curHover, "mousedown", e, self);
                if (curHover !== self.focused) {
                    colectEvent(curHover, "focus", e, self);
                    if (self.focused) {
                        colectEvent(self.focused, "blur", e, self)
                    }
                }
            } else if (self.focused) {
                colectEvent(self.focused, "blur", e, self);
                self.focused = null
            }
            self.focused = curHover || null;
            if (eventQueue.length) {
                fireEvents(self, e)
            }
            self[which] = false
        }
    },