我需要在我的页面上放一张图片。我要禁用图像的拖拽。我尝试了很多方法,但都无济于事。有人能帮我一下吗?
我不想保留那个图像作为背景图像因为我在调整图像的大小。
我需要在我的页面上放一张图片。我要禁用图像的拖拽。我尝试了很多方法,但都无济于事。有人能帮我一下吗?
我不想保留那个图像作为背景图像因为我在调整图像的大小。
当前回答
这是用JQuery实现的一种优雅方式
$("body").on('mousedown','img',function(e){
e.stopPropagation();
e.preventDefault();
});
on函数向选定的元素攻击一个或多个事件的事件处理程序函数
其他回答
你可以这样…
document.getElementById('my-image').ondragstart = function() { return false; };
看到它工作(或者不工作)
看起来你正在使用jQuery。
$('img').on('dragstart', function(event) { event.preventDefault(); });
我做的css属性显示在这里以及监视器ondragstart与以下javascript:
handleDragStart: function (evt) {
if (evt.target.nodeName.match(/^(IMG|DIV|SPAN|A)$/i)) {
evt.preventDefault();
return false;
}
},
CSS唯一的解决方案:使用指针事件:none
https://developer.mozilla.org/en-US/docs/CSS/pointer-events
我不知道这里的答案是否对每个人都有帮助,但这里有一个简单的内联CSS技巧,它肯定会帮助你在HTML页面上禁用拖拽和选择文本。
在<body>标签上添加ondragstart="return false"。这将禁用拖拽图像。但如果你也想禁用文本选择,那么添加onselectstart="return false"。
代码如下所示:<body ondragstart="return false" onselectstart="return false">
从我自己的答案中,只需在图像上添加一个相同大小的完全透明元素。当你调整图片的大小时,一定要调整元素的大小。
这应该适用于大多数浏览器,甚至更老的浏览器。