简单触摸事件在iPhone或iPad上不起作用,但是在DevTools(带触摸的设备模式)中,一切正常!
我的示例是关于计算器的滑块。
element.addEventListener('touchstart', function(e) {
var startPoint = window.getComputedStyle(element).getPropertyValue('left'),
shiftX = e.touches[0].pageX - Number.parseInt(startPoint),
moveAt = function (e) {
e.preventDefault();
if (e.touches[0].pageX < 50) {
element.style.left = '50' + 'px';
} else if (e.touches[0].pageX > 330) {
element.style.left = '330' + 'px';
} else {
let accessubleDifX = e.touches[0].pageX - shiftX;
if (accessubleDifX > 50 || accessubleDifX < 330) {
element.style.left = `${accessubleDifX}px`;
console.log("imhere");
}
}
};
moveAt(e);
document.addEventListener('touchmove', function (e) {
e.preventDefault();
moveAt(e);
counting();
});
document.addEventListener('touchend', function () {
document.removeEventListener('touchmove', null);
element.removeEventListener('touchstart', null);
});
})