zoukankan      html  css  js  c++  java
  • Uncaught RangeError: Maximum call stack size exceeded 超出最大调用值(个人解释)

    写了段jq后,报这个错,度娘未解,灵光一闪,找到原因,上代码:

    Html 结构:

    <a href="javascript:;" class="item-pic">
        <p class="tit">封面</p>
        <input type="file" name="file" style="50px;height:50px;display:none" >
    </a>

    jq代码

    <script>
    $(function(){
        $(".item-pic").click(function(e) {    
            $(this).find("input").trigger('click');
        });
    })
    </script>

    console 报错:

    Uncaught RangeError: Maximum call stack size exceeded

    百思不得姐!

    自悟,点击a标签后触发内部的file的input的点击事件,导致点击事件冒泡至a标签(即a再次被点击),再次执行jq,导致无线循环。进而报错!!

    可将input移出a标签;或者阻止冒泡;

    html 新结构

    <a href="javascript:;" class="item-pic">
        <p class="tit">封面</p>
    </a>
    <input type="file" name="file" style="50px;height:50px;display:none" >

    <script> $(function(){ $(".item-pic").click(function(e) { // e.preventDefault(); $(this).next().trigger('click'); }); }) </script>

    或者阻止冒泡:(应该能行的通的,谁来帮想代码。。。)

    谁来帮想代码。。。
    
    

    举一反三:1.见 Maximum call stack size exceeded  考虑是否出现死循环;

         2.时刻警惕事件冒泡。

  • 相关阅读:
    day59_BOS项目_11
    day58_BOS项目_10
    shell 笔记
    docker + swarm 集群
    HDFS深入浅析
    FTP服务器常规操作
    linux shell 流程控制
    认识黑客常用的入侵方法
    Linux中常用的查看系统信息的命令
    解决Yum安装依赖问题
  • 原文地址:https://www.cnblogs.com/zhu-shixin/p/6193006.html
Copyright © 2011-2022 走看看