【发布时间】:2017-04-10 04:53:05
【问题描述】:
这个程序已经与 onclick 一起工作,但我知道在 html 代码上使用 onclick 是不好的做法,我最好使用事件侦听器。
不过,我在向我的函数发送参数时遇到了问题。我知道当它只是一张画布时,这样做会容易得多,比如 document.getElementById("canvas1").addEventListener("click", func, false); 然后在函数中使用这个,但是如果有多个呢?
这是我之前做的:
<canvas id="canvas1" width="100" height="100" onclick="boxClick(1)">
</canvas>
<canvas id="canvas2" width="100" height="100" onclick="boxClick(2)">
</canvas>
<canvas id="canvas3" width="100" height="100" onclick="boxClick(3)">
</canvas>
有 9 个这样的画布(这是一个井字游戏)。 那么,
function boxClick(num) {
numId = "canvas" + num;
box = document.getElementById(numId);
ctx = box.getContext("2d");
}
然后我使用该 ctx 在单击的画布上绘制我的形状。
如何使用事件侦听器实现相同的目的。
谢谢!!
【问题讨论】:
标签: javascript html canvas onclick event-listener