我是一个jQuery noob,我想知道如何解决这个问题:
如何避免?
我想我需要回调(?)。不幸的是,即使在阅读文档后我也没有想到回调的想法。
[编辑]
<script src="js/reflection.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery().ready(function() {
jQuery('#thumbs li').each(function(){
jQuery('.'+id+' a').append('<img src="' + imgURL + '" class="reflect" /></a>');
});
});
</script>
答案 0 :(得分:3)
图片加载事件不会冒泡。你无法接触到这些。
由于您的图像具有“反射”类,因此意味着您可以对源进行控制。因此,我建议您的反射代码发布一个API供您调用。
window.Reflect = function(img) {
...
};
...
var img = $("<img></img");
img.attr({
...
});
Reflect(img);
...
如果您不想这样做,则可以在文档中轮询新图像。
(function poll() {
var images = $("img.reflect");
...
images.removeClass("reflect")
setTimeout(poll, 500);
})();
答案 1 :(得分:0)
如果我理解正确,你在“就绪”序列下有两个功能,一个脚本依赖于其他功能。
我如何解决这个问题,我已经构建了自己的includeJS以及jQuery所拥有的额外的准备检查层。
https://github.com/atk4/atk4/blob/master/templates/js/start-atk4.js
所以我的代码看起来像这样:
$(function(){
$.atk4.includeJS('reflection.js');
$.atk4.includeJS('different.js');
$.atk4(function(){
$('.reflect').reflection();
});
});
在文档准备好之后,jQuery会在代码之上启动。它附加2个脚本并对它们进行评估(通过添加标记)。当评估完成时,函数atk4.get将执行就像jQuery一样的就绪链。