【发布时间】:2014-04-17 18:23:36
【问题描述】:
我想要实现的是一个简单的功能,可以在单击鼠标时在画布上绘制线条。
我在网上查看了代码,并试图自己实现它,但它不起作用。
到目前为止:
<html>
<canvas id="myCanvas" width="400" height="500"> </canvas>
</html>
<script type="text/javascript">
var el = document.getElementById('myCanvas');
var ctx = el.getContext('2d');
var isDrawing;
el.onmousedown = function(e) {
isDrawing = true;
ctx.moveTo(e.clientX, e.clientY);
};
el.onmousemove = function(e) {
if (isDrawing) {
ctx.lineTo(e.clientX, e.clientY);
ctx.stroke();
}
};
el.onmouseup = function() {
isDrawing = false;
};
</script>
但是,这不会在画布上输出任何内容。我不完全理解代码的事件处理方面(即 e.clientX、e.clientY) 我怀疑我必须将这些部分添加到此代码中才能达到预期的效果?
【问题讨论】:
-
它对我有用,你的画布元素没有关闭顺便说一句。 jsFiddle
-
我在粘贴时错过了它,但它在我的代码中
-
哇,奇怪的是它在 jsFiddle 中工作,完全相同的代码在我的实际页面中不起作用。
-
如果这是你的完整代码,你就是一个。缺少文档类型和 b。缺少包含您的内容的
body。开始调试明显无效的东西并没有多大意义。 -
@m90,这不是我页面的实际代码,只是相关部分。
标签: javascript html canvas