javascript - 禁止在整个元素 HTML 页面中拖动图像

标签 javascript html css styling

我想禁止拖动我的元素中的所有图像,因为该元素包含大量图像。我在网上找到的结果是禁用特定图像。将 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但没有找到我的问题的答案。

最佳答案

您可以添加ondragstart属性为单个图像 & return false .

如果您想处理多个图像

const imgs = document.getElementsByTagName('img');
for(let i = 0; i < imgs.length; i++ ) {
    imgs[i].setAttribute("ondragstart", "return false")
}

React 注释 Synthetic events

As of v0.14, returning false from an event handler will no longer stop event propagation. Instead, e.stopPropagation() or e.preventDefault() should be triggered manually, as appropriate.

所以你需要添加到每个图像。

<img src={source} onDragStart={e => e.preventDefault()} />

关于javascript - 禁止在整个元素 HTML 页面中拖动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62097523/

相关文章:

javascript - 禁用选择器中的选项,使其无法被删除

javascript - jQuery-JS 使用循环从多维数组追加

javascript - Node.js app.js 不显示 HTML 页面而是显示 HTML 代码

html - Bootstrap 4 不可折叠的元素下拉正在扩展导航栏

html - 需要日历字形图标紧挨着输入的布局

javascript - NextJs 中的 index.js 和 _app.js 有什么区别?

javascript - 显示索非亚当前本地时间(小时): Minutes 24h format

html - 我可以在 HTML 电子邮件中使用 columns 标签吗

javascript - 如何在点击链接时在 meteor 中显示图标

html - 如何在宽度为 60% + 40% 的两个元素之间添加空间?