我试图用它们的load()方法得到一些图像的纵横比。
$('img').load(function(){
alert(this.src);
alert($(this).width());
setAspectRatio(this);
});
(this.src)告诉我我期望听到什么。 ($(本).WIDTH())给了我0.1
我发现这个文档中的负载():
与图像一个共同使用时加载事件的
注意事项挑战开发人员尝试使用.load()快捷方式来解决图像(或图像集合)完全加载时执行的功能。有几个已知的警告与此应该注意。它们是:
- 这并不一致,也不可靠地工作,跨浏览器的
- 它不正确的WebKit如果图像的src设置为相同的SRC像以前
- 它不火正确地泡了DOM树
- 可以停止火已经生活在浏览器的缓存图片
一对夫妇这些项目听起来有点含糊,我,但THES使用get()方法将图像添加到元素中,所以我最好的猜测是我的问题与此有关。
这似乎不是一个不寻常的情况,但谷歌不给我任何东西。这里有没有人遇到过这个?
你为什么不能包括'width'和'height'你的''元素属性? “它不一致,也不可靠地跨浏览器”告诫几乎意味着“不要尝试这个”。 – 2011-05-05 04:47:15
想想吧,我甚至没有考虑过。我更喜欢不需要额外标记的解决方案,但这肯定会起作用,这非常棒。谢谢! – Patrick 2011-05-05 04:59:18
总是在图像中包含'width'和'heigh'属性,它整齐地消除了很多混淆,时间问题和其他问题。 – 2011-05-05 05:09:30