touchmover 手机端拖动方法

Posted 爱博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了touchmover 手机端拖动方法相关的知识,希望对你有一定的参考价值。

function drag(obj, parentNode) {
var obj = document.getElementById(obj);
if (arguments.length == 1) {
var parentNode = window.self;
var pWidth = parentNode.innerWidth, pHeight = parentNode.innerHeight;
} else {
var parentNode = document.getElementById(parentNode);
var pWidth = parentNode.clientWidth, pHeight = parentNode.clientHeight;
}
obj.addEventListener(‘touchstart‘, function (event) {
//当只有一个手指时 .
if (event.touches.length == 1) {
//禁止浏览器默认事
// event.preventDefault();
};
var touch = event.targetTouches[0];
var disX = touch.clientX - obj.offsetLeft, disY = touch.clientY - obj.offsetTop;
var oWidth = obj.offsetWidth, oHeight = obj.offsetHeight;
obj.addEventListener(‘touchmove‘, function (event) {
var touch = event.targetTouches[0];
obj.style.left = touch.clientX - disX + ‘px‘;
obj.style.top = touch.clientY - disY + ‘px‘;
//左侧
console.log(obj.offsetLeft)
if (obj.offsetLeft - 40 <= 0) {
obj.style.left = 0;
};
//右侧
if (obj.offsetLeft >= pWidth - oWidth) {
obj.style.left = pWidth - oWidth + ‘px‘;
};
//上面
if (obj.offsetTop <= 0) {
obj.style.top = 0;
};
//下面
if (obj.offsetTop >= pHeight - oHeight) {
obj.style.top = pHeight - oHeight + ‘px‘;
};
});
obj.addEventListener(‘touchend‘,function(event){
obj.removeEventListener(‘touchmove‘);
obj.removeEventListener(‘touchend‘);
})
});
}

以上是关于touchmover 手机端拖动方法的主要内容,如果未能解决你的问题,请参考以下文章

js实现拖拽兼容pc端和手机端

touchmover手机移动端的拖动

Openlayers的Overlay里面不支持移动端滚动事件

### Teamviewer 手机端怎么拖动窗口,选中文字

document.addEventListener('scroll',"事件名",false)在手机端失效

实现移动端touch事件的横向滑动列表效果