首页  >  问答  >  正文

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

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

刚刚加载页面时是这样的:

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

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

    for(i in data){
        /* $('<p />').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;
}
阿神阿神2712 天前603

全部回复(3)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-17 10:08:31

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

    回复
    0
  • 高洛峰

    高洛峰2017-05-17 10:08:31

    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;
    };

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-17 10:08:31

    回复
    0
  • 取消回复