• Uncaught TypeError: download is not a function at HTMLAnchorElement.onclick (index.html:25)


    前段时间调试html报了这样的一个错误
    Uncaught TypeError: download is not a function     at HTMLAnchorElement.onclick (index.html:25)
     
     
    我的html 代码为
    <a href="javascript:void(0)" class="down_btn downloadButton" onclick="download()"></a>
     
    解决方案为:
    修改onclick 里面的名称,比如上面的download 改为 download22222() 就好了
     
    以下是思考过程 
    script 为
    function download() {
            console.log(‘xxxxx')
    }
     
    代码会报错
    index.html:25 Uncaught TypeError: download is not a function
        at HTMLAnchorElement.onclick (index.html:25)
     
     
    探索发现,原因是a 标签的onclick事件会解析为
    function(){
        download()
    }
    而运行该代码的作用域就是 a标签本身
     
     
    <a href="javascript:void(0)" class="down_btn downloadButton" onclick=“console.log(this);download()"></a>
     
    运行后
    而a标签有一个download 属性
    所以啊。这里运行的download就是 this.download 而这个是string 空字符串。我们现在却要运行为function就报错了
     
     
    之前google查了一个类似的错误提示。
    html如下
    Total Storage: <input type="text" name="totalstorage">   
    Total Band <input type="text" name="totalbandwidth">   
    <input type="button" value="totalbandwidthresult" onclick="debugger;totalbandwidth();">  
    也是相同的错误
    在debugger里面输入this是当前对象。
    而输入totalbandwidth确实
    <input type="text" name="totalbandwidth”>   
     
    猜想this的上一级作用域就是document.forms[0]. 
  • 相关阅读:
    第一阶段-坑爹猴
    终于做出来了
    一天就制作成了这些
    累成狗做出来的
    一周的学习,组合起来的成就
    刚刚出炉的搜狗浏览器最新版本
    自己动手设计了一下下百度首页
    数论:卢卡斯定理(求组合数)
    数据结构:ST表模板(可维护区间RMQ)
    快读和快写(可以使用__int128)
  • 原文地址:https://www.cnblogs.com/yoable/p/6390429.html
Copyright © 2020-2023  润新知