我有一个非常简单的脚本(setUser),当点击按钮时调用。这个脚本在Chrome中工作正常,但在IE 11中出现控制台错误。另一个奇怪的事情是,只有在开发工具打开时才会出现该错误。如果devtool没有打开,它就可以正常工作。
错误为:- SCRIPT5009:'id'未定义
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function setUser(eventType){
console.log(eventType);
}
</script>
</head>
<body>
<button id="vish" onclick="setUser(id)" style="height:40px;width:200px">Click Me</button>
</body>
</html>
一个简单的解决方法是在脚本下面声明一个变量id;但我需要一个适当的文档原因,为什么这在ie11中不起作用,但在chrome中起作用。而且这个解决方案比我尝试过的更好。
解决方案:在顶部添加var id。
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
var id;
function setUser(eventType){
console.log(eventType);
}
</script>
</head>
<body>
<button id="vish" onclick="setUser(id)" style="height:40px;width:200px">Click Me</button>
</body>
</html>
当在IE11中打开开发工具并单击按钮时,预期的结果是应该在控制台日志中获取“vish”的输出。
实际结果是:脚本错误,JS错误:“id未定义”。
this.id
能用吗?否则你可以使用 JavaScript 解决方法。 - Anis R..addEventListener('click',function(event){...})
。然后可以使用event.target.id
或event.target.getAttribute(“id”);
获取id,因此您不需要单独存在的变量。试图弄清楚为什么它在Chrome中有效但在IE11中无效。 - Shilly