我是新的HTML5,我想创建一个事件监听器在我的鼠标,我写了下面的代码,但不能理解Y,我不能创建事件监听器在我的画布元素,好心帮在HTML5问题的画布上的事件监听器
var canvasDiv = document.getElementById('canvas');
canvas_simple = document.createElement('canvas');
canvas_simple.setAttribute('height', canvasHeight);
canvas_simple.setAttribute('id', 'canvasSimple');
canvasDiv.appendChild(canvas_simple);
if(typeof G_vmlCanvasManager != 'undefined')
{
canvas_simple = G_vmlCanvasManager.initElement(canvas_simple);
}
context_simple = canvas_simple.getContext("2d");
context_simple.addEventListener('mousemove', ev_mousemove, false);
在答我想给我的事件监听器代码也轻,可能是它有一个错误也
var started = false;
function ev_mousemove (ev) {
var x, y;
if (ev.layerX || ev.layerX == 0) { // Firefox
x = ev.layerX;
y = ev.layerY;
}
else if (ev.offsetX || ev.offsetX == 0) { // Opera
x = ev.offsetX;
y = ev.offsetY;
}
if (!started) {
context.beginPath();
context.moveTo(x, y);
started = true;
}
else {
context.strokeStyle = "#df4b26";
context.lineJoin = "round";
context.lineWidth = 10;
context.lineTo(x, y);
context.stroke();
}
}
我即使监听器不工作:s事件监听器代码为 –
var started = false;函数ev_mousemove(ev){var x,y; //获取鼠标相对于画布元素的位置。 if(ev.layerX || ev.layerX == 0){// Firefox x = ev.layerX; y = ev.layerY; } \t else if(ev.offsetX || ev.offsetX == 0){// Opera x = ev.offsetX; y = ev.offsetY; } //事件处理程序的工作方式类似于跟踪鼠标移动的绘图笔。我们开始绘制一条由线组成的路径。 if(!started){ –
context.beginPath(); context.moveTo(x,y); started = true; } \t else { \t \t context.strokeStyle =“#df4b26”; \t \t context.lineJoin =“round”; context.lineWidth = 10; context.lineTo(x,y); context.stroke(); } } –