Реализация длительного нажатия на элементы с помощью чистого JavaScript

Привет всем!

Мне нужно создать функциональность для обработки длительных нажатий на различные элементы страницы. Хочу чтобы когда пользователь нажимает и удерживает кнопку отправки формы или ссылку определенное время, то срабатывала специальная функция.

Важное условие - нужно реализовать это без использования jQuery, только на чистом JavaScript. Подскажите как это можно сделать?

Вот примерная структура того что я хочу получить:

function startHoldTimer() {
    // здесь должен запускаться таймер
}

function executeAfterHold() {
    // эта функция должна выполниться через определенное время
}

Буду благодарен за любые идеи и примеры кода!

Еще момент - проверь контекстное меню на мобилках. Долгое нажатие может запускать системные действия. Добавь contextmenu событие и отменяй его тоже. У меня на айфоне всплывало меню копирования. Какое время удержания планируешь?