根据文档,这应该有效:
$('#content').on( 'load', function(event){
alert('ready')
})
但事实并非如此。 http://jsfiddle.net/SJKqt/
这确实有效:
$('#content').on( 'load', alert('ready') )
但我无法让匿名函数运行。
答案 0 :(得分:2)
以下元素支持onload事件:
<body>, <frame>, <frameset>, iframe, <img>,
<input type="image">, <link>, <script>, <style>
所以我猜你没有在其中一个上注册处理程序。
答案 1 :(得分:0)
与图像一起使用时加载事件的注意事项
开发人员尝试使用.load()快捷方式解决的常见挑战是在图像(或图像集合)完全加载时执行函数。应该注意有几个已知的警告。这些是:
- 它不能始终如一地工作,也不能可靠地跨浏览器
- 如果图像src设置为与之前相同的src,则无法在WebKit中正确触发
- 它没有正确地冒泡DOM树
- 可以停止触发已存在于浏览器缓存中的图像
注意:.live()和.delegate()方法不能用于检测iframe的load事件。 load事件没有正确地冒泡父文档,而且事件委托所需的Firefox,IE9或Chrome都没有设置event.target。
您的jsFiddle在iframe中运行,这可能是您的代码无法在那里工作的原因之一。