3

SVG ファイルを にロードしていますが、<object>現在の問題の 1 つは、内部の属性が機能する理由を理解することですが、<object onload="function" />機能しobj.load(function(){});ません。

彼らは違うのですか?ロードは画像でのみ実行でき、本文で実行できますか?

ありがとう

編集: コードの一部を次に示します。

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でも試しました

4

1 に答える 1

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);
于 2012-08-06T17:08:24.767 に答える