img onerror事件

本文深入探讨了HTML img标签的onerror事件,解释了其作用、使用方法及常见问题解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

怪自己知道的太少,img标签有onerror这个事件,我是才刚知道,恕我愚昧,既然是第一次遇到,而且又是一个自己从没有涉及过得的东西,所以我希望通过这个随笔来是自己印象深刻,此文仅仅只是让自己印象深刻的水文,知道这个事件的诸位尽可以绕道而行了,如果你也没有涉及,或者你也不曾知晓这个事件的话,就随我一起来了解下这个属性吧.....

 

根据w3cschool:

onerror事件会在文档或图片加载过程中发生错误时被触发,支持该事件的HTML标签有:img,object,style;实例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>onerror 测试</title>
    <meta name="description" content="" />
    <meta name="author" content="" />
    
  

</head>
<body>
	
            	<img onerror="onerror=null;src='http://www.lanrenzhijia.com/images/error.jpg'"  src="img/f0.jpg"/>
	                    
</body>
</html>

  

这段代码中,如果img的src属性中的图片不存在,或者发生错误,将会触发onerror事件,error事件将为src重新加载一张存在的图片,但是如果onerror中的图片也不存在呐?

如果error的事件也不存在的话,将再次调用onerror,但是error中的图片也是错的,所以基于微软的一套核心的浏览器IE就会认为这是死循环 
然后就会报 stack overflow line: 0的错误。

为了解决这个问题,所以,一般在onerror中都会先将onerror事件先清除掉(即onerror = null),再进行复制,这样就不会存在循环调用的问题了

转载于:https://www.cnblogs.com/duyuyueying/p/4458173.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值