Моя проблема в том, что у меня есть холст цветового спектра, и при щелчке он назначает цвет, по которому щелкнули, различным частям страницы. Когда пользователь щелкает холст, я получаю такое положение.
$('#colorPicker').click(function(e) {
var x = e.pageX - this.offsetLeft;
var y = e.pageY - this.offsetTop;
var canvas1 = colorPicker.getContext('2d');
var data = canvas1.getImageData(x, y, 1, 1).data;
var rgb = 'rgb(' + data[0] + ',' + data[1] + ',' + data[2] + ')';
$('a').css({color: rgb});
}).disableSelection();
Единственная проблема заключается в том, что мой холст находится в аккордеоне jquery, поэтому положение холста изменяется при изменении аккордеона, что делает мои координаты для обработчика кликов, прикрепленного к холсту, довольно большим.
Я попытался добавить живое событие к клику, но это ничего не изменило, как я могу получить правильные координаты для указателя на холсте, есть ли живой способ получить значения x и y ??