我正在获取图像,然后尝试获取其宽度:
$('.tech').append("<img src='/upload/" + data['name'] + "' class='" + data['id'] + " toimg'><p class='psize'></p></div>");
$('.psize').append($('.' + data['id']).get(0).naturalWidth);
但由于某种原因,我得到了“0”响应。我认为这是由于图像尚未创建,我已经在尝试获取它的宽度。如果我设置了 setTimeout,那么一切都会起作用,但这不是最漂亮的方法,因为图像可能没有时间在我分配的时间内加载,我会再次得到“0”。同样,如果图像已经加载,我会浪费时间,我正在等待一些难以理解的东西。
告诉我如何指定事件的顺序,以便先执行附加到 .tech,然后附加到 .psize?
如果问题是图像尚未加载,则有imagesLoaded插件