From 65a97a668ee0f9a800937920288e31b1fa99192c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=92=E4=BD=8D?= <284077319@qq.com> Date: Sat, 9 Apr 2022 08:18:01 +0800 Subject: [PATCH] If the element adds the data-rails-drag attribute, it can trigger the dbclick event. (#1317) Co-authored-by: Lea Anthony --- v2/internal/frontend/runtime/desktop/main.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/v2/internal/frontend/runtime/desktop/main.js b/v2/internal/frontend/runtime/desktop/main.js index eaba62ab9..10f6070cb 100644 --- a/v2/internal/frontend/runtime/desktop/main.js +++ b/v2/internal/frontend/runtime/desktop/main.js @@ -60,6 +60,10 @@ if (ENV === 0) { delete window.wailsbindings; } +var dragTimeOut; +var dragLastTime = 0; +var dbClickInterval = 100; + // Setup drag handler // Based on code from: https://github.com/patr0nus/DeskGap window.addEventListener('mousedown', (e) => { @@ -83,7 +87,14 @@ window.addEventListener('mousedown', (e) => { break; } } - window.WailsInvoke("drag"); + if (new Date().getTime() - dragLastTime < dbClickInterval) { + clearTimeout(dragTimeOut) + break; + } + dragTimeOut = setTimeout(function () { + window.WailsInvoke("drag"); + }, dbClickInterval) + dragLastTime = new Date().getTime(); e.preventDefault(); break; }