如何禁用图像的默认拖动?
我是法国人,所以我对我的英语感到抱歉。 我尝试进行简单的拖放操作,如下所示: https://web.dev/drag-and -drop/ 但如果我们用 替换 1、2 和 3,则拖放将不起作用,因为默认的拖放
在 Firefox 和 Edge 中打开文件,让图像具有 0.4 的不透明度
我尝试使用 getElementsByTagName('img').ondragstart = function(){return 禁用此行为假;};
但这并没有改变任何事情 我还尝试将 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 中进行
I'm french so I'm sorry for my english.
I try to do a simple drag and drop like in : https://web.dev/drag-and-drop/ but if we replace 1, 2 and 3 by a <img>
, the drag and drop doesn't work because of the default dragndrop of the <img>
open the file in firefox and in edge that let the image with 0.4 opacity
I try to disable this behaviour with getElementsByTagName('img').ondragstart = function(){return false;};
but that doesn't change anything
I try also to put onmousedown='return false'
in my img but It block the real drag and drop too
Edit: I found on the web I put in my Css :
img{
user-select: none;
-moz-user-select: none;
-webkit-user-drag: none;
-webkit-user-select: none;
-ms-user-select: none;
}
And all work in Edge not in firefox
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为此,答案就在您已经引用的文档中。您需要使用 event.preventDefault() 来阻止默认浏览器行为。您可以将其放入处理函数中,例如函数handleDrop(e) {e.preventDefault()},然后在放置事件上调用它,例如 - myimage.addEventListener('drop', handleDrop);
For this the answers are in the document you're referring to already. You need to prevent the default browser behavior using event.preventDefault(). You can put this inside a handler function e.g. function handleDrop(e) {e.preventDefault()} and then call it on drop event like - myimage.addEventListener('drop', handleDrop);