在过去的四个小时里,我一直在试图弄清楚为什么我的 jQuery 事件会因为只能发生一次的事情而多次触发。基本上,我有一个将使用 jQuery 旋转图像的广告横幅。我正在等待页面加载以加载除默认显示的图像之外的所有图像:
$("#mainadslot").prepend('<img>')
.find(":first-child")
.attr("src", src)
.load(function(event) {
// Global javascript variable itterates here
// to count how many images have loaded.
// If they're all done, we can start rotating
});
而且我什至还没有达到效果,因为出于某种奇怪的原因,图像上的 onLoad 为每张图像触发了 3次。我的第一个猜测是冒泡,所以我稍微摸索了一下并尝试了 .stopPropagation() jQuery 函数。不幸的是,这对我没有任何帮助。
如果有人能向我解释为什么会发生这种情况,我会非常感激。