Javascript JS Cose不';跑不动

Javascript JS Cose不';跑不动,javascript,html,canvas,attributes,getelementbyid,Javascript,Html,Canvas,Attributes,Getelementbyid,我想知道为什么我的代码不起作用。我只是想把height属性从“1000”改为“2” 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title of the document</title> </head> <body> <canvas id="canv" width="1000" height="1000" o

我想知道为什么我的代码不起作用。我只是想把height属性从“1000”改为“2” 代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>
<body>
<canvas id="canv" width="1000" height="1000" onclick="click()" onmousemove=""></canvas>
<script type="text/javascript">
function click(){
    var l = document.getElementById("canv");
    l.height = "2";

}
</script>
</body>
</html>

文件标题
函数单击(){
var l=document.getElementById(“canv”);
l、 高度=“2”;
}

您已呼叫处理程序
单击
onxyz
-样式的属性处理程序是在元素本身混合到作用域中的环境中执行的,因此处理程序中的
click
指画布本身上的
click
,而不是全局函数。所以你的全局函数没有被调用

如果使用不同的名称,则不存在冲突,全局函数将被调用:

函数clickCanvas(){
console.log(“到达这里”);
var l=document.getElementById(“canv”);
l、 高度=“2”;
}

我做js已经很多年了,我从来没有发现在使用
onxyz
标记时不能将函数命名为与事件相同的名称。我不得不再次与JSFIDLE核实这一点,以完全相信它@相信你的叔叔T.J.;-)(相信……但要核实。)