标签:
怪自己知道的太少,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),再进行复制,这样就不会存在循环调用的问题了
标签:
原文地址:http://www.cnblogs.com/duyuyueying/p/4458173.html