首页 > 代码库 > Uncaught TypeError: download is not a function at HTMLAnchorElement.onclick (index.html:25)
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>
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就报错了
之前google查了一个类似的错误提示。
http://jsfiddle.net/XpmZG/
html如下
Total Storage: <input type="text" name="totalstorage">
Total Bandwidth: <input type="text" name="totalbandwidth">
<input type="button" value="http://www.mamicode.com/totalbandwidthresult" onclick="debugger;totalbandwidth();">
也是相同的错误
在debugger里面输入this是当前对象。
而输入totalbandwidth确实
<input type="text" name="totalbandwidth”>
猜想this的上一级作用域就是document.forms[0].
Uncaught TypeError: download is not a function at HTMLAnchorElement.onclick (index.html:25)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。