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

来源:互联网 发布:python获取不了源代码 编辑:程序博客网 时间:2024/06/05 02:57
前段时间调试html报了这样的一个错误
Uncaught TypeError: download is not a function     at HTMLAnchorElement.onclick (index.html:25)
 
 
我的html 代码为
<a href="javascript:void(0)"  onclick="download()">下载pdf</a>
 
解决方案为
修改onclick 里面的名称,比如上面的download 改为 downloadpdf() ,意思就是不要用download作为方法名就好了
 

以下是思考过程 
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 属性
http://www.w3school.com.cn/tags/att_a_download.asp
所以啊。这里运行的download就是 this.download 而这个是string 空字符串。我们现在却要运行为function就报错了
阅读全文
0 0
原创粉丝点击