如何禁用图像的默认拖动?
How disable default drag of an image?
我是法国人,所以很抱歉我的英语不好。
我尝试像在 https://web.dev/drag-and-drop/ 中那样做一个简单的拖放,但是如果我们用 <img>
替换 1、2 和 3,拖放不起作用,因为 [= 的默认拖放=11=] 在 firefox 和边缘打开文件,让图像具有 0.4 不透明度
我尝试使用 getElementsByTagName('img').ondragstart = function(){return false;};
禁用此行为
但这并没有改变任何东西
我也尝试将 onmousedown='return false'
放入我的 img 但它也阻止了真正的拖放
编辑:我在网上找到了我的 Css :
img{
user-select: none;
-moz-user-select: none;
-webkit-user-drag: none;
-webkit-user-select: none;
-ms-user-select: none;
}
并且所有在 Edge 中工作而不在 firefox 中工作
为此,答案已在您所指的文档中。您需要使用 event.preventDefault() 来阻止默认的浏览器行为。您可以将其放入处理程序函数中,例如function handleDrop(e) {e.preventDefault()} 然后在drop事件中调用它 - myimage.addEventListener('drop', handleDrop);
我是法国人,所以很抱歉我的英语不好。
我尝试像在 https://web.dev/drag-and-drop/ 中那样做一个简单的拖放,但是如果我们用 <img>
替换 1、2 和 3,拖放不起作用,因为 [= 的默认拖放=11=] 在 firefox 和边缘打开文件,让图像具有 0.4 不透明度
我尝试使用 getElementsByTagName('img').ondragstart = function(){return false;};
禁用此行为
但这并没有改变任何东西
我也尝试将 onmousedown='return false'
放入我的 img 但它也阻止了真正的拖放
编辑:我在网上找到了我的 Css :
img{
user-select: none;
-moz-user-select: none;
-webkit-user-drag: none;
-webkit-user-select: none;
-ms-user-select: none;
}
并且所有在 Edge 中工作而不在 firefox 中工作
为此,答案已在您所指的文档中。您需要使用 event.preventDefault() 来阻止默认的浏览器行为。您可以将其放入处理程序函数中,例如function handleDrop(e) {e.preventDefault()} 然后在drop事件中调用它 - myimage.addEventListener('drop', handleDrop);