通常的判断为:
if(pic==null){
html='<img src="images/bg_test1.jpg" width="320" height="157" />'
}else{
html='<img src="'+pic+'" width="320" height="157" />'
}
但如果当src路径存在,但路径无效导致无法正常加载时,可以利用img 的 onerror 事件来解决:
if(pic==null){
html='<img src="images/bg_test1.jpg" width="320" height="157" />'
}else{
html='<img src="'+pic+'" width="320" height="157" οnerrοr="imgerror(this)" />'
}
分析:特别注意 onerror,当图片不存在时,将触发 onerror,而 onerror 中又为 img 指定一个 NoPic.gif 图片。也就是说图片存在则显示 pic.gif,图片不存在将显示 noPic.gif。但问题来了,如果 noPic.gif 也不存在,则继续触发 onerror,导致循环,故出现错误。
说明:如果图片存在,但网络很不通畅,也可能触发 onerror。
解决:可以在设置为默认图片之后将 onerror 事件置空,避免死循环触发。
function imgerror(img){
img.src="images/default.jpg"
img.οnerrοr=null //控制不要一直跳动
}
click是单击事件。单击鼠标时就发生了单击事件。在Visual Basic中,可以使用单击、双击、鼠标移动、鼠标键松开和鼠标键按下等鼠标事件来使应用程序对鼠标的位置和状态做出响应。
事实上,单击和双击不是鼠标事件。在按下鼠标按钮并释放时,单击事件只能把这个过程识别为单击 *** 作。在快速按下鼠标左键,然后快速松开两次时,双击事件也只能把这个过程识别为双击 *** 作。鼠标事件不同于单击事件和双击事件之处还在于,鼠标事件能够区分各个鼠标按钮和上档键、控制键和换档键。这里之所以把它们归到鼠标事件中,是为了集中说明。另外,单击和双击事件也的确和鼠标的 *** 作有关。
在发生双击事件的同时,也发生了单击事件。在编程的时候要特别注意这种情况。
希望我能帮助你解疑释惑。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)