Javascript 拖动时防止Electron app重定向+;在窗口中放置项目
我不想在我的应用程序中使用Javascript 拖动时防止Electron app重定向+;在窗口中放置项目,javascript,electron,Javascript,Electron,我不想在我的应用程序中使用拖放功能,因为不需要它。因此,我想完全删除窗口的拖放功能。到目前为止,拖动图像时,电子窗口会打开图像路径。拖动链接时,Electron窗口将重定向到链接 我试着称之为: document.addEventListener('dragstart',function(event){ event.preventDefault(); return false; },true); document.addEventListener('drop',fu
拖放
功能,因为不需要它。因此,我想完全删除窗口的拖放功能。到目前为止,拖动图像时,电子窗口会打开图像路径。拖动链接时,Electron窗口将重定向到链接
我试着称之为:
document.addEventListener('dragstart',function(event){
event.preventDefault();
return false;
},true);
document.addEventListener('drop',function(event){
event.preventDefault();
return false;
},true);
drop事件
上的event.preventDefault()
本应起作用,但没有起作用
还尝试:
也失败了。有没有办法解决这个问题
也失败了
var listener = function (event) {
console.log('foo');
};
document.removeEventListener('drop',listener,false);
找到了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
,Electron仍将重定向到删除的文件
document.addEventListener('dragover',function(event){
event.preventDefault();
return false;
},false);
document.addEventListener('drop',function(event){
event.preventDefault();
return false;
},false);
干杯 使用ES6语法的简明版本(在Electron 1.4.1下为我工作)
您可以在渲染过程中使用简单的css
*, *::after, *::before {
-webkit-user-select: none;
-webkit-user-drag: none;
-webkit-app-region: no-drag;
cursor: default;
}
您不应该通过id/class将事件侦听器附加到的元素作为目标吗?由于要删除事件,您不想使用removeEventlistener()
吗?用于拖动事件的函数是外部函数吗?我相信removeEventListener只适用于外部功能。如果是的话,你知道这个函数被调用了吗。“用于使元素可拖动的一个”您试图通过以事件侦听器为目标来取消函数,这告诉我某个事件侦听器正在触发函数执行某些操作,因此希望取消/覆盖它。我问你这个函数是外部函数还是附加到事件侦听器。啊,我明白了!我想我帮不了什么忙。我希望你能找到解决办法。
*, *::after, *::before {
-webkit-user-select: none;
-webkit-user-drag: none;
-webkit-app-region: no-drag;
cursor: default;
}