From 0a08dd167d5edb20b33dc0eda58e8b5a21411da8 Mon Sep 17 00:00:00 2001 From: viyiviyi Date: Sat, 15 Jul 2023 09:33:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E7=BC=A9=E6=94=BE=E5=92=8C=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E6=97=B6=E4=B8=8D=E5=BD=B1=E5=93=8D=E5=8E=9F=E6=9D=A5?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- javascript/zoomimage.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/javascript/zoomimage.js b/javascript/zoomimage.js index 9dce220..54606ff 100644 --- a/javascript/zoomimage.js +++ b/javascript/zoomimage.js @@ -3,6 +3,9 @@ onUiLoaded(function () { imageContainer.style.width = "100%"; imageContainer.style.height = "100%"; imageContainer.style.overflow = "hidden"; + function disableClose(e) { + e.stopPropagation(); + } let modalControls = imageContainer.getElementsByClassName("modalControls")[0]; if (modalControls) { modalControls.style.position = "relative"; @@ -33,7 +36,6 @@ onUiLoaded(function () { }, mousedown: function (event) { event.stopPropagation(); - event.preventDefault(); isDragging = true; lastX = event.clientX - offsetx; lastY = event.clientY - offsety; @@ -44,6 +46,7 @@ onUiLoaded(function () { event.stopPropagation(); event.preventDefault(); if (isDragging) { + img.onclick = disableClose; let deltaX = event.clientX - lastX; let deltaY = event.clientY - lastY; offsetx = deltaX; @@ -54,13 +57,11 @@ onUiLoaded(function () { }, mouseup: function (event) { event.stopPropagation(); - event.preventDefault(); isDragging = false; img.style.cursor = "grab"; }, mouseleave: function (event) { event.stopPropagation(); - event.preventDefault(); isDragging = false; img.style.cursor = "grab"; }, @@ -74,10 +75,12 @@ onUiLoaded(function () { offsety = 0; touchStore = {}; img.style.transform = "none"; + img.onclick = undefined; }, touchcancel: function (event) { event.stopPropagation(); event.preventDefault(); + img.onclick = undefined; img.style.transition = ""; // 获取手势缩放比例 let newScale = scale * event.scale; @@ -88,12 +91,11 @@ onUiLoaded(function () { touchend: function (event) { // 更新缩放比例 event.stopPropagation(); - event.preventDefault(); + img.onclick = undefined; scale = scale * event.scale; }, touchstart: function (event) { event.stopPropagation(); - event.preventDefault(); if (!touchStore.tpuchScale) { lastX = event.targetTouches[0].pageX - offsetx; lastY = event.targetTouches[0].pageY - offsety; @@ -111,6 +113,7 @@ onUiLoaded(function () { touchmove: function (event) { event.stopPropagation(); event.preventDefault(); + img.onclick = disableClose; img.style.transition = ""; let deltaX = event.targetTouches[0].pageX - lastX; let deltaY = event.targetTouches[0].pageY - lastY; @@ -145,9 +148,6 @@ onUiLoaded(function () { function reloadZoomEvent(new_event) { if (!new_event) return; - img.onclick = function (e) { - e.stopPropagation(); - }; imageContainer.removeEventListener("click", event.reset); imageContainer.removeEventListener("wheel", event.wheel); img.removeEventListener("mousedown", event.mousedown);