X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FBoard.vue;h=cc3f6fd7d7a51fd5053f6c7483edf0a07c8b1609;hb=d2af3400944331ffd0c770f83857257c2f48e487;hp=1d650ac034d9ccb808170a8ab03bcabd4936768b;hpb=9a7a1ccca45d083f50d92bc15cd389c14149b50a;p=vchess.git diff --git a/client/src/components/Board.vue b/client/src/components/Board.vue index 1d650ac0..cc3f6fd7 100644 --- a/client/src/components/Board.vue +++ b/client/src/components/Board.vue @@ -402,10 +402,12 @@ export default { this.choices = []; this.play(m); }; + const stopPropagation = (e) => { e.stopPropagation(); } const onClick = this.mobileBrowser - ? { touchend: applyMove } - : { mouseup: applyMove }; + // Must cancel mousedown logic: + ? { touchstart: stopPropagation, touchend: applyMove } + : { mousedown: stopPropagation, mouseup: applyMove }; return h( "div", { @@ -423,7 +425,7 @@ export default { attrs: { src: "/images/pieces/" + - // orientation: extra arg useful for some variants: + // orientation: extra arg useful for some variants this.vr.getPPpath(m, this.orientation) + V.IMAGE_EXTENSION }, @@ -657,8 +659,9 @@ export default { // Emit the click event which could be used by some variants const targetId = (withPiece ? e.target.parentNode.id : e.target.id); - this.$emit("click-square", getSquareFromId(targetId)); - if (withPiece) { + const sq = getSquareFromId(targetId); + this.$emit("click-square", sq); + if (withPiece && !this.vr.onlyClick(sq)) { this.possibleMoves = this.vr.getPossibleMovesFrom(startSquare); // For potential drag'n drop, remember start coordinates // (to center the piece on mouse cursor)