• Как сделать, чтобы встроенный обработчик события убрал сам себя?

    Глобальная переменная, говорящая, о том, что произошёл заход в обработчик - мы же не знаем в какой из обработчиков первым зайдёт приложение - они, типа враз запустятся, но сработают по очереди. Например, переменная

    var event_done = 0;

    теперь, когда первым происходит срабатывание onclick - функция выполняется, и выполняем event_done++ .

    Далее, срабатывает ontouchstart - если event_done === 1, то функционал не выполняется, а только удаляется onclick, и выполняем event_done++

    В следующем заходе event_done > 1 - выполняем функционал, и не паримся.

    Если первым выполнится touch, то event_done === 0, тогда удаляем onclick, и делаем event_done = 2;

    Если touch не поддерживается, то есть это браузер на компе, то сработка touch не произойдёт, onclick не удалится, и будет дальше работать
    Написано