我需要在我的页面上放一张图片。我要禁用图像的拖拽。我尝试了很多方法,但都无济于事。有人能帮我一下吗?

我不想保留那个图像作为背景图像因为我在调整图像的大小。


当前回答

CSS唯一的解决方案:使用指针事件:none

https://developer.mozilla.org/en-US/docs/CSS/pointer-events

其他回答

只需添加draggable="false"到你的图像标签:

<img draggable="false" src="image.png">

IE8及以下不支持。

直接使用这个:ondragstart="return false;"在你的图像标签。

<img src="http://image-example.png" ondragstart="return false;"/>

如果你有多个图像,用<div>标签包装:

<div ondragstart="return false;">
   <img src="image1.png"/>
   <img scr="image2.png"/>
</div>

适用于所有主流浏览器。

我做的css属性显示在这里以及监视器ondragstart与以下javascript:

handleDragStart: function (evt) {
    if (evt.target.nodeName.match(/^(IMG|DIV|SPAN|A)$/i)) {
      evt.preventDefault();
      return false;
    }
  },

由于我的图像是使用ajax创建的,因此在windows.load上不可用。

$("#page").delegate('img', 'dragstart', function(事件){event. preventdefault ();});

通过这种方式,我可以控制哪个部分阻塞行为,它只使用一个事件绑定,它适用于未来ajax创建的图像,而无需做任何事情。

与jQuery新的绑定:

$(' # '页)。on('dragstart', 'img', function(event) {event. preventdefault ();}); (感谢@ialphan)

jQuery:

$('body').on('dragstart drop', function(e){
    e.preventDefault();
    return false;
});

您可以将主体选择器替换为任何其他容器,以防止子容器被拖放。