请看js里面的,为什么第一种就失效了,第二种就成功了?
<!DOCTYPE html>
<html>
<head>
<meta content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport" />
<meta charset="UTF-8" />
<title></title>
</head>
<body>
<div id="a">判断iframe是否加载完成</div>
<iframe src="http://www.qq.com/" style="height:500px;width:600px;" id="b"></iframe>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
//---------------第一种----------------------
$("#a").on('click',function(){
$("#b").load(function(){
console.log("完成!--2")
})
})
//--------------第二种--------------------
$("#b").load(function(){
console.log("完成!--1")
})
})
</script>
</html>
这里的load相当于原生js的onload,是状态监听,你把他放到function里面,点击的时候,iframe可能已经加载完了,所以会一直监听不到