load()方法持续加载问题

<!DOCTYPE html>
<html>
<head>
    <title>test</title>
    <script src="./jquery.min.js"></script>
</head>
<body>
<button>点击</button>
<iframe src="http://www.baidu.com" style="height:300px;width:300px;"></iframe>
<script type="text/javascript">
$(function(){
    $("button").click(function(event){
        $("iframe").attr("src","http://www.szu.edu.cn").load(function(){
            alert("更新了");
        })
    })
})
</script>
</body>
</html>
    
    
  这段代码中为啥会出现alert的次数随着button点击的次数增多而增多的现象?
阅读 2.9k
2 个回答
// 需要解绑
$("iframe").attr("src","http://www.szu.edu.cn").unbind().load(function(){
    alert("更新了");
})

$(".list-item")有两个class为list-item的元素吧

源代码修改为如下即可:

  <!DOCTYPE html>
    <html>
    <head>
        <title>test</title>
        <script src="./jquery.min.js"></script>
    </head>
    <body>
    <button>点击</button>
    <iframe src="http://www.baidu.com" style="height:300px;width:300px;"></iframe>
    <script type="text/javascript">
    $(function(){
        $("button").click(function(event){
            $("iframe").attr("src","http://www.szu.edu.cn").load(function(){
                $(this).unbind();
                alert("更新了");
            })
        })
    })
    </script>
    </body>
    </html>
        

这是局部重复绑定引起的,但是代码具体执行过程我还是没搞明白

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题