在整个项目HTML页面中禁用图像拖动

问题描述 投票:0回答:1

我想禁用具有大量图像的我项目中的所有图像的拖动。我在网上发现的结果是禁用了特定图像。将draggable="false"放入每个图像标签会花费很多时间。因此,我想要一个解决方案来一起禁用它们。

我成功禁用了此代码的拖动,但是在Firefox中仍然可以拖动。

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;
}

我已经通过Disable dragging an image from an HTML page,但没有找到我的问题的答案。

javascript html css styling
1个回答
0
投票

对于特定的图像,您可以执行类似的操作,它将在所有browsers上正常工作

<!-- right image (dragging disabled) -->
<img src="https://contribute.geeksforgeeks.org/wp-content/uploads/gfg-39.png" onmousedown="if (event.preventDefault) event.preventDefault()">

如果您希望所有图像在包括firefox在内的所有浏览器中均不可拖动,那么只有几行JavaScript可以为您做到这一点!

// register onLoad event with anonymous function
window.onload = function(e) {
  var evt = e || window.event, // define event (cross browser)
    imgs, // images collection
    i; // used in local loop
  // if preventDefault exists, then define onmousedown event handlers
  if (evt.preventDefault) {
    // collect all images on the page
    imgs = document.getElementsByTagName('img');
    // loop through fetched images
    for (i = 0; i < imgs.length; i++) {
      // and define onmousedown event handler
      imgs[i].onmousedown = disableDragging;
    }
  }
};

// disable image dragging
function disableDragging(e) {
  e.preventDefault();
}
<img src="https://contribute.geeksforgeeks.org/wp-content/uploads/gfg-39.png">
© www.soinside.com 2019 - 2024. All rights reserved.