搜尋

首頁  >  問答  >  主體

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;
}
阿神阿神2868 天前722

全部回覆(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
  • 取消回覆