先click,再使用load()判断iframe是否加载完成,为什么失效了,但是直接使用load(),为什么就可以成功判断?

发布于 2022-09-06 11:12:27 字数 1063 浏览 14 评论 0

请看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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

燕归巢 2022-09-13 11:12:27

这里的load相当于原生js的onload,是状态监听,你把他放到function里面,点击的时候,iframe可能已经加载完了,所以会一直监听不到

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文