1

我正在使用 jquery 来填充一些带有图像的 div。当我单击 jstree 节点时,应该填充 div。它有效,但有时即使目录中有图像,我对图像的调用也会返回空。

这是一段代码,显示了我在做什么:

}).bind("select_node.jstree", function (event, data) {

var ImgTeamA;
ImgTeamA = "img/"+node_id+"-teamA.png";
myImg1 = new Image;
myImg1.src=ImgTeamA

alert(myImg1.width);
alert(myImg1.src)

$("#div1").html(myImg1).css("border","1px solid");

问题是这样的。尽管 myImg1 存在于 img 目录中,但 alert(myImg1.width) 有时显示为 0。当我再次单击该节点时,div1 显示图像。它是零星的。有时单击显示图像,有时我必须双击节点。任何人都可以给我一些指示如何解决这个问题。

4

1 回答 1

0

在将图像加载到浏览器之前,您无法获取图像的宽度,请尝试以下操作:

}).bind("select_node.jstree", function (event, data) {
    var myImg1 = new Image;
        myImg1.src = "img/"+node_id+"-teamA.png";
        myImg1.onload = function() {
            alert(myImg1.width);
            alert(myImg1.src);
        }

    $("#div1").html(myImg1).css("border","1px solid");
});
于 2012-07-20T13:29:53.400 回答