Могу ли я использовать как onmousedown, так и ontouchstart для кнопки?

У меня есть html <img id="button">, который вызывает функции с onmousedown="down();" и onmouseup="up();". Удержание кнопки нажатой активирует цикл интервалов, поэтому речь идет об удержании кнопки нажатой и очистке интервала при поднятии мыши.

Теперь это работает нормально и имеет прекрасную совместимость со старыми браузерами, но удержание нажатой кнопки не работает со смартфонами (по крайней мере, не с Android). Учебники рекомендуют вместо этого использовать события указателя, но тогда я потеряю совместимость со старыми браузерами.

Поэтому я спрашиваю, буду ли я использовать

<img id="button" onmousedown="down();" onmouseup="up();" ontouchstart="down();" ontouchend="up();">

будут ли проблемы, если я просто добавлю атрибуты touchstart и touchend в тег img? Или события касания нарушат события onmousedown и onmouseup?


person im-not-a-robot    schedule 02.02.2021    source источник
comment
Вы можете получить двойное выполнение на устройствах Android   -  person mplungjan    schedule 02.02.2021
comment
Вы можете использовать любые новые события и отменить старое событие на новых устройствах.   -  person mplungjan    schedule 02.02.2021
comment
@mplungjan Итак, если я использую оба для ссылки на одну и ту же функцию, я должен написать что-то, что отслеживает, пришел ли пользователь из onmousedown или ontouchstart? Или я вынужден писать отдельные функции для обоих?   -  person im-not-a-robot    schedule 02.02.2021
comment
Много дубликатов   -  person mplungjan    schedule 02.02.2021
comment
@mplungjan Спасибо! я еще новичек на этом форуме   -  person im-not-a-robot    schedule 02.02.2021