我需要在我的页面上放一张图片。我要禁用图像的拖拽。我尝试了很多方法,但都无济于事。有人能帮我一下吗?
我不想保留那个图像作为背景图像因为我在调整图像的大小。
我需要在我的页面上放一张图片。我要禁用图像的拖拽。我尝试了很多方法,但都无济于事。有人能帮我一下吗?
我不想保留那个图像作为背景图像因为我在调整图像的大小。
当前回答
img {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-user-drag: none;
user-drag: none;
-webkit-touch-callout: none;
}
我在自己的网站http://www.namdevmatrimony.in/上使用了它 这就像魔法一样!!:)
其他回答
你可以这样…
document.getElementById('my-image').ondragstart = function() { return false; };
看到它工作(或者不工作)
看起来你正在使用jQuery。
$('img').on('dragstart', function(event) { event.preventDefault(); });
你可以认为我的解决办法是最好的。大多数答案都不兼容旧的浏览器,如IE8,因为e.c preventdefault()不支持以及ondragstart事件。要做到跨浏览器兼容,你必须阻止鼠标移动事件为这张图片。请看下面的例子:
jQuery
$("#my_image").mousemove( function(e) { return false } ); // fix for IE
$("#my_image").attr("draggable", false); // disable dragging from attribute
没有jQuery
var my_image = document.getElementById("my_image");
my_image.setAttribute("draggable", false);
if (my_image.addEventListener) {
my_image.addEventListener("mousemove", function(e) { return false });
} else if (my_image.attachEvent) {
my_image.attachEvent("onmousemove", function(e) { return false });
}
甚至可以在IE8上测试和运行
我不知道这里的答案是否对每个人都有帮助,但这里有一个简单的内联CSS技巧,它肯定会帮助你在HTML页面上禁用拖拽和选择文本。
在<body>标签上添加ondragstart="return false"。这将禁用拖拽图像。但如果你也想禁用文本选择,那么添加onselectstart="return false"。
代码如下所示:<body ondragstart="return false" onselectstart="return false">
只需添加draggable="false"到你的图像标签:
<img draggable="false" src="image.png">
IE8及以下不支持。
为图像设置以下CSS属性:
user-drag: none;
user-select: none;
-moz-user-select: none;
-webkit-user-drag: none;
-webkit-user-select: none;
-ms-user-select: none;