<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<img id='demo' onload="alert('hello')" src="123.png" >
<script type="text/javascript">
var img = document.getElementById("demo");
img.onload="none";
</script>
</body>
</html>
上面的代码修改了img(加了id属性),如果一点都不改img的话,可以使用document.getElementsByTagName来选择该img。
@寻觅beyond: 我把问题搞复杂了,原来这么简单就可以解决,但赋值为 none
不太好吧
@dudu: 那就设置为一个空字符串也可以
@寻觅beyond: 最终采用的代码:
Array.from(document.getElementsByTagName("img"))
.forEach(img => img.onload = null);
在实际使用中发现当页面中元素比较多时,这个方法是不可行的,还没来得及执行 img.onload = null
,onload 的事件处理函数已经被浏览器执行了。
@dudu: 应该是js的位置太靠后了,导致在执行js前,img的onload已经执行完毕;如果可以的话,在每个img后面加一行是最好的。
@寻觅beyond: 目前看来只有在实现图片懒加载的情况下才能实现这个。