防止电子应用程序重定向时,拖放项目在窗口
Prevent Electron app from redirecting when drag+dropping items in window
我不想在我的应用程序中使用drag+drop
功能,因为没有必要。所以我想完全去除窗口的drag+drop
特征。到目前为止,当拖动图像时,电子窗口打开图像路径。当拖动链接时,电子窗口将重定向到该链接。
我试过打电话给这个:
document.addEventListener('dragstart',function(event){
event.preventDefault();
return false;
},true);
document.addEventListener('drop',function(event){
event.preventDefault();
return false;
},true);
event.preventDefault()
对drop event
应该起作用,但没有
也试过这个:
BrowserWindow.on('will-navigate',function(event){
event.preventDefault();
return false;
});
BrowserWindow.webContents.on('will-navigate',function(event){
event.preventDefault();
return false;
});
也失败了。有什么办法解决这个问题吗?
removeEventListener()也失败了
var listener = function (event) {
console.log('foo');
};
document.removeEventListener('drop',listener,false);
使用ES6语法的简明版本(在Electron 1.4.1下为我工作)
document.addEventListener('dragover', event => event.preventDefault())
document.addEventListener('drop', event => event.preventDefault())
修复了Windows Electron v2.3.1 Windows Electron v0.30.0
的问题,代码中应该有dragover
和drop
的监听器。
document.addEventListener('dragover',function(event){
event.preventDefault();
return false;
},false);
document.addEventListener('drop',function(event){
event.preventDefault();
return false;
},false);
如果你只听dragover
或drop
,电子仍然会重定向到被删除的文件。
干杯!
你可以在渲染过程中使用简单的css。
*, *::after, *::before {
-webkit-user-select: none;
-webkit-user-drag: none;
-webkit-app-region: no-drag;
cursor: default;
}
相关文章:
- html5拖放确定拖动项目的来源
- 如何允许我的访问者通过拖放来排列列表项目
- 有角度的拖放可在单独的容器中列出项目
- 如何使 ExtJS 拖放树仅复制 - 而不是从显示中删除项目
- 容器中的多个项目(拖放)
- Extjs使用复选框模型在网格上拖放单个项目
- jQuery拖放绑定多个项目
- 当在可排序网格中垂直拖放项目时,垂直对齐将中断
- 限制容器内可拖放项目的数量
- Jquery UI拖拽和排序- 2次出现被拖放的项目
- 使用Dragula拖放保存拖动项目的位置,React版本(React - Dragula)
- JQuery UI拖放显示警报时,项目到达目的地
- 如何在拖放时获得可拖动项目的相对位置
- 从父框架中拖动一个项目,并将其放入子框架中的可拖放对象中
- 防止电子应用程序重定向时,拖放项目在窗口
- 如何获得一个可拖放项目的id,当我点击可拖放项目
- 拖放多个项目html5
- 如何使用jQuery或JavaScript拖放多个项目
- Dojo拖放:如何检索项目的顺序
- HTML表格与rowspan重新排序项目拖放问题