为什么onload=“;函数“;工作,而jquery.load不工作;t

Why onload="function" works and jquery.load doesn't?

本文关键字:工作 jquery load onload 函数 为什么      更新时间:2023-09-26

我正在将一个SVG文件加载到<object>中,现在我的问题之一是弄清楚为什么<object onload="function" />中的atribute可以工作,但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以及

我认为.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);