img onerror事件

怪本身知道的太少,img标签有onerror这个事件,我是才刚知道,恕我愚昧,既然是第一次遇到,并且又是一个本身从没有涉及过得的东西,因此我但愿经过这个随笔来是本身印象深入,此文仅仅只是让本身印象深入的水文,知道这个事件的诸位尽能够绕道而行了,若是你也没有涉及,或者你也未曾知晓这个事件的话,就随我一块儿来了解下这个属性吧.....html

 

根据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中的图片也不存在呐?htm

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

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

相关文章
相关标签/搜索