chrome 中的图像禁用属性

b09cbbtk  于 2023-03-21  发布在  Go
关注(0)|答案(1)|浏览(156)

我试图禁用一个简单图像按钮的onClick处理程序,但无法使其工作。我在img标记上添加了“disabled”属性,但即使这样也不起作用。
这似乎在2022年12月后的一段时间内在Chromoum发生了变化,但我不知道确切的时间。

<img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" onClick="alert('TEST')" disabled>

无论我做什么,警报“测试”都会出现。
jsFiddle示例:https://jsfiddle.net/4td0ouwb/
图像应为“unclickable”。实际上,它是可单击的,并激发onClick事件。

1qczuiv0

1qczuiv01#

disabled属性对HTML图像没有影响。禁用元素的事件处理程序取决于您使用的JavaScript框架(如果有)。通常情况下,该方法涉及从元素中删除/注销处理程序。
但是,如果您确实希望能够使用disabled属性,并且能够对处理函数进行更改,则可以添加一个if语句,如果该属性存在,该语句将提前返回:

function myAlert(elt, str) {
  if (elt.hasAttribute("disabled")) return;
  alert(str);
}
img { display: block; }
Not disabled:
<img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" onclick="myAlert(this, 'TEST')">

Disabled:
<img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" onclick="myAlert(this, 'TEST')" disabled>

相关问题