gpt4 book ai didi

javascript - JS使用mousemove或touchmove

转载 作者:行者123 更新时间:2023-11-30 17:33:58 26 4
gpt4 key购买 nike

我想知道如何根据使用该应用程序的设备使用 mousemove 或 touchmove。我希望支持触摸的设备听 touchmove 和桌面设备改为使用 mousemove。我还想使用移动设备上似乎缺少的 offsetX 和 offsetY =/

最佳答案

你可以将事件包装在一个对象中,并根据 is_touch_supported 进行设置:

var body = document.querySelector('body'),
is_touch_supported = ('ontouchstart' in window) ? true : false,
EVENTS = {
POINTER_DOWN : is_touch_supported ? 'touchstart' : 'mousedown',
POINTER_UP : is_touch_supported ? 'touchend' : 'mouseup',
POINTER_MOVE : is_touch_supported ? 'touchmove' : 'mousemove'
};

现在你可以像那样使用事件了:

body.addEventListener(EVENTS.POINTER_MOVE, function (e) {
e.preventDefault();

// normalize event so you can use e.offset X/Y
if(is_touch_supported){
e = e.changedTouches[0];
e.offsetX = e.pageX - e.target.offsetLeft;
e.offsetY = e.pageY - e.target.offsetTop;
}

// ...
});

关于javascript - JS使用mousemove或touchmove,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22423869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com