在开发的项目中,需要在图片加载完成后,获取图片的实际宽高。
很直接的,就想到了img的onload事件,在onload事件执行的时候,再去获取图片的宽高。
页面中有多张图片,在onload事件event中,获取img元素信息,是最好的方式。
在Chrome 浏览器中,img onload 事件的event信息打印出来,如下:

这个event中, target、currentTarget、srcElement都是null, 元素,在path中。
在safari浏览器中,event信息打印如下

其中 target, srcElement值是当前元素。
因此在onload事件中,获取元素信息的方法,要做兼容处理
img.onload=function(e){
const ele = e.target || e.path[0]
}
本文介绍了一种在图片加载完成后获取其实际宽高的方法。针对不同浏览器(如Chrome与Safari)对img.onload事件中event参数的不同实现,提供了一段兼容性良好的示例代码。

1274

被折叠的 条评论
为什么被折叠?



