Как отследить нажатие мыши на рисунок в canvas?

В общем, делаю рпг игру на js, и когда решил добавить квест гивера столкнулся с проблемой взятия квеста. Чтобы взять квест нужно подойти к нему на определённое расстояние и кликнуть на него левой кнопкой мыши. Только непонятно одно: как отследить этот клик? Квест гивер отрисовывается на канвасе при помощи следующей функции:

let texture = new Image();
texture.src = this.img;
context.drawImage(texture,
         0, 0, 123, 175,
         this.spawn_x, this.spawn_y, 31, 44);

И теперь проблема заключается в том, чтобы отследить нажатие мыши на эту картинку. Иными словами: я добавил на канвас изображение при помощи метода drawImage(), и задача заключается в том, чтобы единично выполнить какую-то функцию при клике левой кнопкой мыши на добавленное изображение. Вот отрывок кода из самого проекта:

const canvas = document.getElementById('canvas');
canvas.width = 1536;
canvas.height = 704;
const context = canvas.getContext('2d');

class quest_giver {
    constructor(img, spawn_x, spawn_y) {
        this.img = img;
        this.spawn_x = spawn_x;
        this.spawn_y = spawn_y;
    }

    spawn() {
        let texture = new Image();
        texture.src = this.img;
        context.drawImage(texture,
             0, 0, 123, 175,
             this.spawn_x, this.spawn_y, 31, 44);
    }

    talk() {
        //Здесь нужно реализовать разговор с квест гивером по нажатию на его фрейм
    }
}

//Вот один из объектов, т.е. уже созданный квест гивер
let helper = new quest_giver('pictures/quest_giver.png', 100, 100);
helper.spawn(); //Спавн квест гивера, т.е. добавление его изображения на канвас

Ответы (0 шт):