Pwd*_*wdr 4 javascript macos drag-and-drop node.js electron
我打算用电子实现音乐播放器。它将列出用户硬盘驱动器中的音乐。
是否可以定义拖放行为,以便我可以将 html 元素(例如,<span>Artist – Title</span>在电子窗口之外)拖到用户的桌面上以复制实际文件?
文件存储在这里:~/music/Artist-Title.mp3.
当span从我的电子窗口拖放到桌面上时,应该制作一个副本:~/Desktop/Artist-Title.mp3。
工作示例:
放入main.js并复制一个拖动时要显示的图标 ( yourAppDir/img/icon/folder.png):
const {ipcMain} = require('electron')
ipcMain.on('ondragstart', (event, filePath) => {
event.sender.startDrag({
file: filePath,
icon: 'img/icon/folder.png'
})
})
Run Code Online (Sandbox Code Playgroud)
放入renderer.js,并设置要删除的文件的路径:
var ipcRenderer = require('electron').ipcRenderer
document.getElementById('drag').ondragstart = (event) => {
event.preventDefault()
ipcRenderer.send('ondragstart', '/Users/tim/dev/test/elektron-drag-out-test/img/icon/folder.png')
}
Run Code Online (Sandbox Code Playgroud)
在 的 body 标签内创建可拖动元素index.html:
...
<body>
...
<a href="#" id="drag" class="draggable">drag item</a>
</body>
...
Run Code Online (Sandbox Code Playgroud)
我还创建了一个拖入/拖出的要点。
另一个有用的资源:Electron – 添加webContents.startDrag(item)API
| 归档时间: |
|
| 查看次数: |
2023 次 |
| 最近记录: |