Я не думаю, что вы можете прослушивать события из изображений, которые нарисованный на холсте. Поэтому я думаю, что вы можете прослушивать события кликов на документе или просто на холсте, а затем проверить, произошел ли щелчок на области холста, занятой кнопкой.
$('canvas').on('click', function(e) {
if (e.pageX >= leftEdgeOfButton && e.pageX <= rightEdgeOfButton
&& e.pageY >= topEdgeOfButton && e.pageY <= bottomEdgeOfButton) {
// handle click event
}
});
Что касается положения краев кнопки, я уверен, что вы можете рассчитать эти значения: для левого и верхнего края, вероятно, так же, как и значения, которые используются для определения координат, где изображение должны быть нарисованы, а справа/внизу - только левый или правый края плюс ширина или высота кнопки.
Если холст не имеет одинакового размера со всем экраном, вы можете добавить левое и верхнее смещение холста к e.pageX
и e.pageY
для изготовления и настройки.
$('canvas').on('click', function(e) {
if (e.pageX + leftOffsetOfCanvas >= leftEdgeOfButton
&& e.pageX + leftOffsetOfCanvas <= rightEdgeOfButton
&& e.pageY + leftOffsetOfCanvas >= topEdgeOfButton
&& e.pageY + leftOffsetOfCanvas <= bottomEdgeOfButton) {
// handle click event
}
});
Вы можете использовать .offset()
функции JQuery, чтобы получить верхнее и левое смещение элемента холста.
Невозможно подключить прослушиватель событий к области холста. Прикрепите его к элементу холста и выберите действие в зависимости от координат события мыши. Или вместо этого поместите кнопки как
элементов поверх холста и добавьте к ним обработчики кликов. –
Что такое «образ jQuery»? – nnnnnn
@nnnnnn это изображение jQuery: http://brand.jquery.org/resources/jquery-mark-dark.gif –