Предположим, я хочу использовать как сенсорную, так и мышь (мышь и сенсорный экран могут быть доступны).
Существует как минимум один способ решения проблемы.
Когда срабатывает касаниеprotectDefault (первый способ):
let onMove = event => {
//either touch, or mouse
};
document.body.addEventListener('touchmove', event=>{
//prevent mouse if this event fires
event.preventDefault();
onMove(event);
}, false);
document.body.addEventListener('mousemove', event=>{
onMove(event);
}, false);
Что если вместо этого мы сделаем это (второй способ):
let didTouch = false;
let onMove = event => {
//either touch, or mouse
};
document.body.addEventListener('touchmove', event=>{
didTouch = true;
onMove(event);
}, false);
document.body.addEventListener('mousemove', event=>{
if(didTouch){
didTouch = false;
}else{
onMove(event);
}
}, false);
Является ли второй способ жизнеспособным для обработки как прикосновения, так и мыши?Первый способ рекомендуется, но меня интересует возможность использования любого из этих способов, если нет непредвиденных проблем.