84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
最近在公司做项目,有一个页面中使用了JS来控制图片尺寸,大致如下:
function resizeImage() { balabala... } $('img').resizeImage();
发现这只对页面加载完时已经存在的图片有效,而对那先随后使用ajax操作加载出来的图片不生效,请问该如何解决这个问题?
ringa_lee
通过ajax请求回来的是图片路径的话,获得这个dom元素再次调用这个函数就好了。注意这些操作应该放在ajax操作成功的回调函数中
楼主用的是jquery?那么我们用jquery来解释一下。
jquery
页面初始化完成后,jquery只能认识已经加载到DOM里的标签,类或者ID。对于之后通过ajax加载进来的DOM,先前的jquery表示不认识。
通过jquery的on方法可以解决这个问题。比如:$(document).on('resize', 'img', function () {})。on方法通过冒泡监听的方法做到此功能。
on
$(document).on('resize', 'img', function () {})
你觉得调了这个方法,就会有一个独立的监听,一直监听img element,有变化了就resize?自然不是,所以就如楼上兄所说,在ajax回调后处理。
通过ajax请求回来的是图片路径的话,获得这个dom元素再次调用这个函数就好了。注意这些操作应该放在ajax操作成功的回调函数中
楼主用的是
jquery
?那么我们用jquery
来解释一下。页面初始化完成后,
jquery
只能认识已经加载到DOM里的标签,类或者ID。对于之后通过ajax加载进来的DOM,先前的
jquery
表示不认识。通过
jquery
的on
方法可以解决这个问题。比如:
$(document).on('resize', 'img', function () {})
。on
方法通过冒泡监听的方法做到此功能。你觉得调了这个方法,就会有一个独立的监听,一直监听img element,有变化了就resize?
自然不是,所以就如楼上兄所说,在ajax回调后处理。