javascript - 将图像制作为按钮且不可下载

标签 javascript html css

我想制作一个无法通过右键单击和“另存为”下载的图像按钮。

我还有一个悬停 javascript,可以更改图像。

我尝试了 CSS:

pointer-events: none;

但如果我这样做,当我将鼠标悬停在它上面时图像不会改变。

我的悬停 Javascript:

function hoverButton(element, src) { 
  element.setAttribute('src', src);
}

function unhoverButton(element, src) {
  element.setAttribute('src', src);
}

在我的图片 html 中:

<a href="../login/"><img class="headButton" src="img/loginBtn.png" onmouseover="hoverButton(this, 'img/loginBtnDark.png');" onmouseout="unhoverButton(this, 'img/loginBtn.png');"></a>

我知道它有点长,但它完成了工作。

我还尝试使用一些 javascript 使按钮图像无法通过右键单击下载。

$('img').mousedown(function (e)) {
  if(e.button == 2) { // right click
    return false; // do nothing!
  }
}

有人知道我必须做什么吗?

最佳答案

这里有一个选项,使用 background-image 而不是 img,这意味着用户无法右键单击以保存图像。

仍然可以获取图像,只是不能通过右键单击。

button {
  background-image: url(https://via.placeholder.com/150);
  background-size: cover;
  background-position: center;
  width: 150px;
  height: 150px;
}

button:hover {
  background-image: url(https://via.placeholder.com/150?text=Alternate);
}
<button></button>

关于javascript - 将图像制作为按钮且不可下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59694908/

相关文章:

javascript - 如何使用react-router-dom直接链接来渲染填充了 Prop 的通用帖子组件?

javascript - phonegap 最后一个位置提供者被禁用

html - 在单个页面中堆叠 div 并在它们之间移动

asp.net - 如何右对齐 DropDownList 中的选项?

HTML -- margin-left & -right 不适用于 flexbox

: 65 or 97? 的 Javascript 键码

javascript - 是否可以在另一个图像中为图像创建 "anchor points"?

javascript - 使用popcornjs,如何一键播放视频并显示脚注?

javascript - 如何清除内容 div 并使用 javascript 重新出现

c# - 如何从asp.net aspx页面获取当前页面源