javascript - 关于异步加载的一点问题
ringa_lee
ringa_lee 2017-04-11 12:30:41
[JavaScript讨论组]

最近在公司做项目,有一个页面中使用了JS来控制图片尺寸,大致如下:

function resizeImage() {
    balabala...
}
$('img').resizeImage();

发现这只对页面加载完时已经存在的图片有效,而对那先随后使用ajax操作加载出来的图片不生效,请问该如何解决这个问题?

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
PHP中文网

通过ajax请求回来的是图片路径的话,获得这个dom元素再次调用这个函数就好了。注意这些操作应该放在ajax操作成功的回调函数中

怪我咯

楼主用的是jquery?那么我们用jquery来解释一下。

页面初始化完成后,jquery只能认识已经加载到DOM里的标签,类或者ID。
对于之后通过ajax加载进来的DOM,先前的jquery表示不认识。

通过jqueryon方法可以解决这个问题。
比如:$(document).on('resize', 'img', function () {})
on方法通过冒泡监听的方法做到此功能。

怪我咯

你觉得调了这个方法,就会有一个独立的监听,一直监听img element,有变化了就resize?
自然不是,所以就如楼上兄所说,在ajax回调后处理。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号