我是一名经验丰富的 Java 程序员,但我在大约十年内第一次看到一些 JavaScript/HTML5 的东西。我完全被什么应该是有史以来最简单的事情难住了。
作为一个例子,我只是想画一些东西并向它添加一个事件处理程序。我确定我在做一些愚蠢的事情,但我已经搜索了所有内容,没有任何建议(例如这个问题的答案: Add onclick property to input with JavaScript)有效。我正在使用 Firefox 10.0.1。我的代码如下。您会看到几行带注释的行,每行末尾都有对发生(或不发生)情况的描述。
这里的正确语法是什么?我要疯了!
<html>
<body>
<canvas id="myCanvas" width="300" height="150"/>
<script language="JavaScript">
var elem = document.getElementById('myCanvas');
// elem.onClick = alert("hello world"); - displays alert without clicking
// elem.onClick = alert('hello world'); - displays alert without clicking
// elem.onClick = "alert('hello world!')"; - does nothing, even with clicking
// elem.onClick = function() { alert('hello world!'); }; - does nothing
// elem.onClick = function() { alert("hello world!"); }; - does nothing
var context = elem.getContext('2d');
context.fillStyle = '#05EFFF';
context.fillRect(0, 0, 150, 100);
</script>
</body>