HTML5 событие щелчка холста - PullRequest
22 голосов
/ 18 июня 2010

Я сделал массив квадратов

ctx.fillStyle = "rgb(0,0,0)";
for(x=0;x<=25;x++){
  for(y=0;y<=25;y++){   
       ctx.fillRect(x, y, 20, 20); 
  }
}

и я хочу, чтобы квадрат менял свой цвет при нажатии. Как я могу это сделать?

Я не знаю много HTML5 и мне нужна помощь. Спасибо.

Ответы [ 2 ]

31 голосов
/ 20 июня 2010

Использование jQuery:

Сначала мы определяем, какая ячейка была нажата, затем вы можете просто нарисовать этот прямоугольник другим цветом:

 $("#canvas").click(function(e){

    var x = Math.floor((e.pageX-$("#canvas").offset().left) / 20);
    var y = Math.floor((e.pageY-$("#canvas").offset().top) / 20);
    ctx.fillStyle = "rgb(255,255,255)";
    ctx.fillRect(x*20, y*20, 20, 20);


 });
6 голосов
/ 18 марта 2012

Эта бета-версия от Калеба Эванса может помочь. Следующие события включены ...

  • нажмите
  • DblClick
  • MouseDown
  • MouseUp
  • MouseMove

Ссылка на демо на jsFiddle .

...