Electron startDrag 结束时是否有事件监听器?

问题描述 投票:0回答:1

我正在尝试使用 Electron 创建一个文件 拖放应用程序,我需要知道正在拖动的文件是否已成功拖到用户桌面上,或者拖放是否已被取消。

我尝试使用

GlobalEventHandlers.ondragend
事件监听器,但它似乎被
e.preventDefault()
函数所需的
startDrag
取消了:

const dropAreaRef = document.body;
dropAreaRef.addEventListener("dragstart", handleExport, false);
dropAreaRef.addEventListener("dragend", handleExportEnd, false);

function handleExport(e) {
  e.preventDefault();
  window.electron.startDrag(files);
}
function handleExportEnd(e) {
  console.log("export ended")
}

我查看了

Electron.WebContents
文档,但找不到任何提及
startDrag
回调函数或任何电子
Instance Events

macos electron drag-and-drop
1个回答
0
投票

在 Windows 上,您可以调用

browserWindow.hookWindowMessage(message, callback)
来监听事件,例如:
WM_MOUSEMOVE 0x0200
,
WM_LBUTTONUP 0x0201
,
WM_LBUTTONDOWN 0x0201

但是这在macOS上不起作用,我还没有找到解决方案

© www.soinside.com 2019 - 2024. All rights reserved.