最近在公司做项目,有一个页面中使用了JS来控制图片尺寸,大致如下:
function resizeImage() {
balabala...
}
$('img').resizeImage();
发现这只对页面加载完时已经存在的图片有效,而对那先随后使用ajax操作加载出来的图片不生效,请问该如何解决这个问题?
最近在公司做项目,有一个页面中使用了JS来控制图片尺寸,大致如下:
function resizeImage() {
balabala...
}
$('img').resizeImage();
发现这只对页面加载完时已经存在的图片有效,而对那先随后使用ajax操作加载出来的图片不生效,请问该如何解决这个问题?
楼主用的是jquery
?那么我们用jquery
来解释一下。
页面初始化完成后,jquery
只能认识已经加载到DOM里的标签,类或者ID。
对于之后通过ajax加载进来的DOM,先前的jquery
表示不认识。
通过jquery
的on
方法可以解决这个问题。
比如:$(document).on('resize', 'img', function () {})
。on
方法通过冒泡监听的方法做到此功能。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
通过ajax请求回来的是图片路径的话,获得这个dom元素再次调用这个函数就好了。注意这些操作应该放在ajax操作成功的回调函数中