JQuery如何给新建的img标签添加onload事件,并自动调用。

刚进入页面的时候是这样的:网页加载后会自动调用目标图片,如果没有找到,就使用备用图片(JS中的onload事件noImg()方法),现在的问题是,如果在搜索框输入关键字后点击搜索,搜索结果显示到网页后,不再调用onload方法,我给它加了onload:"noImg()" 也没用。怎么破?求大神赐教~

刚刚加载页面时是这样的:
clipboard.png

然后点击搜索后是这样的:

clipboard.png

上面有个搜索框,在搜索框输入关键字以后调用Ajax异步请求,发回来的数据重新填充至页面:

    for(i in data){
        /* $('<div />').attr("src","img/2017329/2.png").css().appendTo(jqTag); */
        
        var pTag = $('<p/>');
        var h4Tag = $('<h4/>').html("模型名称:"+data[i].modelName);
        var imgTag = $('<img/>').attr({
            alt:"...",
            src:data[i].picFileUrl,
            
            onload:"noImg()"
        });

这是一开始就有的js方法:
/ 网页图片不现实的时候使用备用图片 /

function noImg(){
         var img = event.srcElement;
         img.src = "images/img.jpg";
         img.onerror = null;
}
阅读 10.4k
3 个回答

var img = new Image();
img.src = '';
img.onload= function(){}

http://stackoverflow.com/ques...
注意,onload事件应当在图片src赋值之前。
参考代码:

var imgLoad = function (url) {
   var img = new Image();
   if (img.complete) {
       callback();
   } else {
       img.onload = function () {
           callback();
           img.onload = null;
       };
   };
  img.src = url;
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏