向 canvas 添加事件侦听器时出错
Error while adding event listners to canvas
我正在学习canvas和HTML5
我想 运行 单击 canvas 时的功能,但我的代码无法正常工作,请帮忙。
我的代码如下
<center><canvas id="mycanvas"></canvas></center>
<script type="text/javascript">
Canvas = function(canvasel,width,height)
{
this.el = canvasel;
this.el.width = width;
this.el.height = height;
this.ctx = canvasel.getContext("2d");
}
var canvas = new Canvas(document.querySelector("#mycanvas"),300,300);
canvas.addEventListener('click', function() { alert('gg') }, false);
canvas.ctx.moveTo(50,50);
canvas.ctx.lineTo(250,250);
canvas.ctx.stroke();
canvas.ctx.closePath();
canvas.ctx.fillRect(0,0,100,100);
</script>
谁能告诉我哪里错了?
您必须将事件侦听器添加到要传递给 Canvas 构造函数的 DOM 元素。
所以与其这样做:
canvas.addEventListener('click', function() { alert('gg') }, false);
你应该这样做:
canvas.el.addEventListener('click', function() { alert('gg') }, false);
首先你应该做这样的事情,
canvas.el.addEventListener('click', function() { alert('gg') }, false);
既然你问了,这就是你想要的
function somefunc(){
alert("try me");
}
canvas.el.addEventListener('click', somefunc, false);
我正在学习canvas和HTML5
我想 运行 单击 canvas 时的功能,但我的代码无法正常工作,请帮忙。 我的代码如下
<center><canvas id="mycanvas"></canvas></center>
<script type="text/javascript">
Canvas = function(canvasel,width,height)
{
this.el = canvasel;
this.el.width = width;
this.el.height = height;
this.ctx = canvasel.getContext("2d");
}
var canvas = new Canvas(document.querySelector("#mycanvas"),300,300);
canvas.addEventListener('click', function() { alert('gg') }, false);
canvas.ctx.moveTo(50,50);
canvas.ctx.lineTo(250,250);
canvas.ctx.stroke();
canvas.ctx.closePath();
canvas.ctx.fillRect(0,0,100,100);
</script>
谁能告诉我哪里错了?
您必须将事件侦听器添加到要传递给 Canvas 构造函数的 DOM 元素。
所以与其这样做:
canvas.addEventListener('click', function() { alert('gg') }, false);
你应该这样做:
canvas.el.addEventListener('click', function() { alert('gg') }, false);
首先你应该做这样的事情,
canvas.el.addEventListener('click', function() { alert('gg') }, false);
既然你问了,这就是你想要的
function somefunc(){
alert("try me");
}
canvas.el.addEventListener('click', somefunc, false);