Я изо всех сил пытаюсь заставить этот код работать. В принципе, я хочу, чтобы пользователь мог щелкнуть в любом месте холста, а координаты в точке с щелчком будут направлены на рисование прямоугольника. Тем не менее, в коде я помещаю прямоугольники в совершенно неожиданные точки вдоль холста. Я проверил значения в Firebug, и они, казалось, были точными, основываясь на том, где я щелкнул внутри холста, поэтому я не уверен, почему прямоугольники не рисуются в правильных точках. Возможно, есть и другая ошибка, которую я не вижу, поэтому любая помощь или вклад будут оценены. Я разместил соответствующий код ниже.Как правильно рисовать прямоугольники на холсте HTML5?
Следует также отметить, что элемент холста находится внутри div с id = 'container'.
$('#container').click(function (e) {
var offset=$(this).offset();
var x=(e.pageX - offset.left);
var y=(e.pageY - offset.top);
ctx.fillStyle='#FF0000'; //color red
ctx.fillRect(x,y,10,10); //draw 10 x 10 rectangle starting at x,y
});
Возможный дубликат [Как получить координаты щелчка мыши на элементе холста?] (Http://stackoverflow.com/questions/55677/how-do-i-get-the-coordinates-of- а-щелчок мыши-на-холст-элемент) – Nit