首页 > 技术文章 > <button> 标签 id 与 function 重复时发生的问题

diaoyan 2016-08-11 16:59 原文

今天遇到一种情况,在调用js自定义方法的时候,总是提示“import:660 Uncaught TypeError: ... is not a function”。

仔细检查了代码,并没有问题。甚至把方法提全部删除,都不行。

最后发现我的button标签id属性与function名字重复。发现重复之后,我记得使用button标签是,可以直接用id属性表示这个标签元素,都不需要使用$("#...")Jquery 选择器。

这时候,明白了使用button标签,会根据id自动创建变量,由于我的js代码写在了前面,后来有写的button,相当于写了一句var beginImport=...;进而覆盖掉了原来的自定义函数。

<script type="text/javascript">	
	function beginImport(){
		console.error(1111);
	}
	
</script>

  

	<button type="button" id="beginImport" onclick="beginImport()"> <span class="ico-btn">Import</span></button>

 

推荐阅读