Клики внутри и вне блока

У меня есть расширение которое я пишу для google chrome, оно будет выполнять некоторые операции с субтитрами. Вообщем блок с видео я определяю вот так:

let video = document.getElementsByTagName('video');
let coor = video[0].getBoundingClientRect();
videoC.x_start = coor.left;
videoC.x_end = coor.right;
videoC.y_start = coor.top;
videoC.y_end = coor.bottom - 40;

Тут вроде вполне понятно, я определяю координаты блока, относительно страницы.

Дальше у меня на клики повешаны события, но проблема в том, что клик возвращает координаты только относительно окна и получается если я кликаю под видео, он определяет что я кликаю на видео, а это не есть хорошо. Сравнения я провожу так:

if (subtitle) {
    text_subtitle = e.path[0].innerText;
    if (((videoC.x_start <= e.left) && (e.left <= videoC.x_end)) && ((videoC.y_start <= e.top) && (e.top <= videoC.y_end))) {
        console.log('Нажатие на субтитры');
        innerTranslateObject(document.caretRangeFromPoint(e.x, e.y), user, e.pageY, subtitle, text_subtitle);
    }
} else {
    if (((videoC.x_start > e.x) && (e.x > videoC.x_end)) && ((videoC.y_start > e.y) && (e.y > videoC.y_end))) {
        console.log('Нажатие на обычные слова вне субтитров');
        innerTranslateObject(document.caretRangeFromPoint(e.x, e.y), user, e.pageY, subtitle, text_subtitle);
    }
}

Ну вообщем как мне поправить чтобы у меня клик в не блока видео можно было определить. Весь код прикладывать не буду т.к. там 400+ строк.

Ах да вот как я слушаю клик:

if ((video.length > 0) && subtitleTranslate) {
    document.addEventListener('click', (e) => {
        createAndSendData(e, true);
    });
}

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

Автор решения: Moonwolf45

Кажется я нашел ответ на свой вопрос, выглядит он так:

if (subtitle) {
    text_subtitle = e.path[0].innerText;
    if (((videoC.x_start <= e.pageX) && (e.pageX <= videoC.x_end)) && ((videoC.y_start <= e.pageY) && (e.pageY <= videoC.y_end))) {
        console.log('Нажатие на субтитры');
        innerTranslateObject(document.caretRangeFromPoint(e.x, e.y), user, e.pageY, subtitle, text_subtitle);
    }
} else {
    if (((videoC.x_start <= e.pageX) && (e.pageX <= videoC.x_end)) && ((videoC.y_start <= e.pageY) && (e.pageY <= videoC.y_end))) {
    } else {
        console.log('Нажатие на обычные слова вне субтитров');
        innerTranslateObject(document.caretRangeFromPoint(e.x, e.y), user, e.pageY, subtitle, text_subtitle);
    }
}

Кароче если в вкратце e.pageX и e.pageY отдают координаты относительно страницы, что вообщем мне и нужно было.

→ Ссылка