我们都知道,img标签当图片失效时,可以通过onerror属性进行src默认图片的设置,如下:
<img src="images/logo.png" onerror="this.onerror=null; this.src='static/image/moren.png';">
但是,当我们设置动态Img标签时,如在grid中,有一列是动态展示图片,在renderer这么写会报错,主要原因就是因为单引号的转义问题,好吧,直接看代码~
{
text : '工程图',
align : 'center',
tdCls : 'tdValign',
sortable:false,
menuDisabled:true,
width : 100,
locked:true,
dataIndex : 'projectPic',
renderer: function(value, meta, record) {
if(!Ext.isEmpty(value)){
var imgUrl = "attachment/project/"+value + "?d_="+new Date().getTime();
return "<div style='width:100%;height:100%;'><img height='80' width='80' src='" + imgUrl + "'" +
" onerror='this.onerror=null; this.src='Images/noPic.jpg''/>";
}else{
return "<div style='width:100%;height:100%;'><img height='80' width='80' src='Images/noPic.jpg' />";
}
}
}
代码中最主要的一段如下,而最关键的就是&~apos (去掉~,这就是单引号的转义);
onerror='this.onerror=null; this.src='Images/noPic.jpg''/>";
网友评论