Моя проблема в том, что у меня есть холст с цветовым спектром, и при нажатии он назначает цвет, щелкаемый по различным частям страницы.Когда пользователь нажимает на холст, я получаю позицию следующим образом.
$('#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 ??