2012-08-05 35 views
3

我加載一個SVG文件到<object>,而現在我的問題之一,是要弄清楚爲什麼<object onload="function" />作品裏面的屬性附加傷害,但obj.load(function(){}); doesen't爲什麼onload =「function」有效並且jquery.load不?

它們有什麼不同?只能在圖像和身體中執行加載?

感謝

編輯: 以下是代碼的一部分:

var cont = $('<div class="file" >'+file.file_name+'</div>'); 

     var render = $('<object id="file_'+file.id+'" data="/while1/pcbsfiles/view/'+file.id+'" type="image/svg+xml"/></object>'); 
     cont.append(render); 
     render.css('visibility', 'hidden'); 

     cont.load(function(){ 
      // 
      render.removeClass('position'); 
      render.removeClass('left'); 
      alert("aaaaaa"); 
      render.fadeIn(); 
     }); 

cont.loadrender.load試過,$('#file_'+file.id).load

+5

是在obj.load obj的一個jQuery對象? – mplungjan 2012-08-05 04:52:04

+0

@mplungjan問,或者'obj.onload = function(){...};'? – 2012-08-05 04:56:18

+0

我用obj.onload試過,但沒有工作......它可以是一個jQuery對象嗎? – 2012-08-05 05:05:05

回答

0

相信.load申報需要直接在創建對象之後,在將其追加到另一個對象之前。我無法詳細說明原因,但之前我曾遇到類似的問題。

嘗試更多的東西是這樣的:

var cont = $('<div class="file">'+file.file_name+'</div>'); 
$(cont).load(function(){ 
    var $render = $(render); 
    $render.removeClass('position'); 
    $render.removeClass('left'); 
    alert("aaaaaa"); 
    $render.fadeIn(); 
}); 

var render = $('<object></object>'); 
$(render).attr('id', 'file_'+file.id) 
    .attr('data', '/wihlte1/pcbsfiles/view/'+fild.id) 
    .attr('type', 'image/svg+xml') 
    .css('display', 'none'); 
$(cont).append(render); 
相關問題