问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JS移动端获取触控位置

发布网友 发布时间:2022-04-19 23:02

我来回答

3个回答

热心网友 时间:2022-04-20 00:32

1、如图位置是一个html中的可编辑内容的div标签,在里边输入文字,会有一个光标。

2、通过getSelection可以获得一个Selection对象,如图。因为是一个光标,anchor和focus(选择的起点和终点)一样,偏移也一样。

3、如图,则进行文字选择,而且是跨行选择,以第一行为起点,第二行为终点,选择文字。

4、再次getSelection,可以看到anchorNode是起始节点,anchorOffset是起始偏移,focus是结束的。

5、如果从第二行倒着选到第一行,使用getSelection获取选择区域,可以看到anchorNode和focusNode和刚才相比,互换了。

6、使用一个node的textContent属性可以获得文字。结合focusOffset和anchorOffset,实际上可以获取光标/选中区域前后的文字。

7、将起始和结束位置设置为相同,而且都在结束节点的末尾。即变成闪烁光标。

热心网友 时间:2022-04-20 01:50

document.addEventListener('touchmove', function(event) {

event.preventDefault();

}, false);

//touchstart事件

function touchSatrtFunc(evt) {

try {

//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等。

var touch = evt.touches[0]; //获取第一个触点。

var x = Number(touch.pageX); //页面触点X坐标。

var y = Number(touch.pageY); //页面触点Y坐标。

//记录触点初始位置。

startX = x;

startY = y;

} catch (e) {

alert('touchSatrtFunc:' + e.message);

}

}

//touchmove事件,这个事件无法获取坐标

function touchMoveFunc(evt) {

try {

//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等。

var touch = evt.touches[0]; //获取第一个触点。

var x = Number(touch.pageX); //页面触点X坐标。

var y = Number(touch.pageY); //页面触点Y坐标。

//document.getElementById("version").innerHTML = "原:"+startY+"   "+"现:"+y;

//判断滑动方向 上下。

if (y - startY > 100) {

swipeDown();//自己的方法 是用来翻页的一样的。

} else if(y - startY < -100){

swipeUp();//自己的方法。

}

} catch (e) {

alert('touchMoveFunc:' + e.message);

}

}

//touchend事件。

function touchEndFunc(evt) {

try {

//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等。

} catch (e) {

alert('touchEndFunc:' + e.message);

}

}

//绑定事件

function bindEvent() {

document.addEventListener('touchstart', touchSatrtFunc, false);

document.addEventListener('touchmove', touchMoveFunc, false);

document.addEventListener('touchend', touchEndFunc, false);

}

//判断是否支持触摸事件

function isTouchDevice() {

//document.getElementById("version").innerHTML = navigator.appVersion;

try {

document.createEvent("TouchEvent");

//alert("支持TouchEvent事件!");

bindEvent(); //绑定事件

} catch (e) {

alert("不支持TouchEvent事件!" + e.message);

}

}

扩展资料:

JS移动端上的触摸事件:

基本事件:

touchstart //手指刚接触屏幕时触发;

touchmove //手指在屏幕上移动时触发;

touchend //手指从屏幕上移开时触发;

下面这个比较少用:touchcancel //触摸过程被系统取消时触发。 

每个事件都有以下列表,比如touchend的targetTouches当然是 0 :

touches //位于屏幕上的所有手指的列表;

targetTouches //位于该元素上的所有手指的列表;

changedTouches //涉及当前事件的所有手指的列表。

每个事件有列表,每个列表还有以下属性:

其中坐标常用pageX,pageY: 

pageX //相对于页面的 X 坐标;

pageY //相对于页面的 Y 坐标;

clientX //相对于视区的 X 坐标; 

clientY //相对于视区的 Y 坐标;

screenX //相对于屏幕的 X 坐标 ;

screenY //相对于屏幕的 Y 坐标;

identifier // 当前触摸点的惟一编号;

target //手指所触摸的 DOM 元素 。 

其他相关事件:

event.preventDefault() //阻止触摸时浏览器的缩放、滚动条滚动;

var supportTouch = "createTouch" in document //判断是否支持触摸事件。

单点触摸事件 :

如果想在桌面上模拟单点触摸事件的话,试一下Phantom Limb,该程序在网页上模拟触摸事件并提供一只巨手来引导。

另外还有Touchable这一jQuery插件,该插件跨平台地统一了触摸和鼠标事件 

多点触摸事件:

为了能够让自己的多点触摸web应用在浏览器或是多点触摸控板(比如说Apple MacBook或是MagicPad)上起作用,创建了这一个MagicTouch.js填充工具,其捕捉来自触控板的触摸事件,然后把它们转换成标准兼容的触摸事件。 

touch事件:

touch事件可以分为单点触摸和多点触摸两种,单点触摸高端机一般都支持,Safari2.0、Android3.0以上的版本支持多点触摸。

支持最多5个手指同时触摸屏幕,ipad最多支持11个手指同时触摸屏幕, 我们可以采用以下的事件模型捕获这些事件:ontouchstart,ontouchmove,ontouchend,ontouchcancel。

当用户按下手指在屏幕上,ontouchstart会被触发,当用户移动一个或多个手指的时候,ontouchmove会被触发,当用户移走手指, ontouchend被触发。

当一些更高级别的事件发生的时候,例如,alert,有电话打来或者有 推送的消息提示的时候会取消当前的touch操作,即触发ontouchcancel。

当开发一个web game的时候,ontouchcancel很重要,可以在ontouchcancel触发的时候暂停游戏或者保存游戏。 

gesture事件:

gesture事件的运行原理与touch事件相同,只是gesture事件仅当屏幕上存在至少两个手指时触发,所以Safari2.0、Android3.0以上版本支持, 手势具备诸多优势。

可以帮助我们测量两指放缩和旋转操作,事件模型如下:ongesturestart,ongesturechange,ongestureend。

热心网友 时间:2022-04-20 03:24

//禁用手机默认的触屏滚动行为
document.addEventListener('touchmove', function(event) {
event.preventDefault();
}, false);
//touchstart事件
function touchSatrtFunc(evt) {
try {
//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等

var touch = evt.touches[0]; //获取第一个触点
var x = Number(touch.pageX); //页面触点X坐标
var y = Number(touch.pageY); //页面触点Y坐标
//记录触点初始位置
startX = x;
startY = y;


} catch (e) {
alert('touchSatrtFunc:' + e.message);
}
}

//touchmove事件,这个事件无法获取坐标
function touchMoveFunc(evt) {
try {
//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等
var touch = evt.touches[0]; //获取第一个触点
var x = Number(touch.pageX); //页面触点X坐标
var y = Number(touch.pageY); //页面触点Y坐标


//document.getElementById("version").innerHTML = "原:"+startY+"   "+"现:"+y;
//判断滑动方向 上下

if (y - startY > 100) {
swipeDown();//你自己的方法 我是用来翻页的一样的
} else if(y - startY < -100){
swipeUp();//你自己的方法
}
} catch (e) {
alert('touchMoveFunc:' + e.message);
}
}

//touchend事件
function touchEndFunc(evt) {
try {
//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等


} catch (e) {
alert('touchEndFunc:' + e.message);
}
}

//绑定事件
function bindEvent() {
document.addEventListener('touchstart', touchSatrtFunc, false);
document.addEventListener('touchmove', touchMoveFunc, false);
document.addEventListener('touchend', touchEndFunc, false);
}

//判断是否支持触摸事件
function isTouchDevice() {
//document.getElementById("version").innerHTML = navigator.appVersion;

try {
document.createEvent("TouchEvent");
//alert("支持TouchEvent事件!");

bindEvent(); //绑定事件
} catch (e) {
alert("不支持TouchEvent事件!" + e.message);
}
}

追问touchmove事件无法获取坐标那怎么持续监听?

追答可以啊,你可以输出到页面上看看,我做的是滑动翻页,所以是一段距离.

JS移动端获取触控位置

1、如图位置是一个html中的可编辑内容的div标签,在里边输入文字,会有一个光标。2、通过getSelection可以获得一个Selection对象,如图。因为是一个光标,anchor和focus(选择的起点和终点)一样,偏移也一样。3、如图,则进行文字选择,而且是跨行选择,以第一行为起点,第二行为终点,选择文字。4、再...

如何js实现触屏点击事件

触发touchstart事件后,会产生一个event对象,event对象里包括触摸列表,获得屏幕上的第一个touch,并记下其pageX,pageY的坐标。定义一个变量标记滚动的方向。此时绑定touchmove,touchend事件。2.定义手指在屏幕上移动的事件,定义touchmove函数。//移动 move:function(event){//当屏幕有多个touch或者页面被...

移动端怎么用JS判断是手势是向上滑动还是向下滑动

参考这位博客的内容:js判断手指滑动方向(移动端)var startx, starty;//获得角度 function getAngle(angx, angy) { return Math.atan2(angy, angx) * 180 / Math.PI;};//根据起点终点返回方向 1向上 2向下 3向左 4向右 0未滑动 function getDirection(startx, starty, endx, endy) { v...

swiper.js中怎么获取滑动前后的位移值?

free模式:现在第一块的相对swiper位置-滑动之前位置onFirstInit: function(swiper){location1=mySwiper.slides[0].getOffset().left;}其他事件{location2=mySwiper.slides[0].getOffset().left;move=location2-location1-mySwiper.positions.start;} swiper是个功能插件,使用在移动端,相当于jm,jq是...

js判断终端是PC还是移动端

js判断终端一般是根据屏幕大小判断的,多用于响应式布局,提示到这,具体的你自己百度吧。

zepto移动端上下滑动 怎么做

手机端页面切换,页面跟随手势上下/左右滑动,依赖zepto.js。如果工程中同时使用jquery的话,采用如下方式来调用zepto的方法。(function($){$('#Marke').touchSlider({direction: 'v',itemSelector:'.slide',slidePercent:0.2});})(Zepto)。调用方式:$('#Marke').touchSlider({direction: 'v',...

js或者jquery如何在移动端(手机)实现触摸摸个文字变色的效果?_百度...

.kindsBtn-Cont [class*=kindtop]:active {background-color: #f5f5f5;/*背景色*/color :#ff00ff;}推荐 热门刚写的。这才是手机端的写法。你采纳的方法并不合适哦。

手机端如何用JS实现触屏 表格列左右滑动的效果

手机触屏就那几个事件,左右就判断下 X坐标就行了,事件触发的判断 你可以参考下我这个文章,希望有帮助。http://blog.csdn.net/waterdemo/article/details/38112545

一些的js判断设备是移动端还是PC端的代码

var UA = window.navigator.userAgent.toLocaleLowerCase()if (/(iphone|android|ipad)/.test(UA)) { alert('移动设备')} else { alert('PC')}

移动端可以兼容fullpage.js吗

可以。fullpage.js全屏滚动插件,基于jq库,可以利用它很方便、很轻松的来制作全屏网站;它 支持手机、平板触摸事件,也支持 CSS3 动画,对移动端有很好的兼容性。

使用触控初始位置 怎么锁定辅助触控的位置 苹果辅助触控固定位置 获取对方位置 获取当前位置 通过短信获取对方的位置 触控设置 触控调节怎么设置 定位位置
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
肯尼迪在总统竞选中有什么优势? 红螺寺门票优惠政策 红螺寺景区门票多少钱 红螺寺60岁以上门票多少钱 锐不可当什么意思?有什么典故?英文翻译是什么? 内资分公司设立登记程序是什么 70%肿瘤患者会感到乏力,怎么办? 李嫣真会扬长避短!只穿一件宽松T恤走机场,这腿可以单独出道了 爱护地球的环保标语 世界地球日的宣传语 “authentication failed”是 铝合金门窗安装步骤是什么? 青岛地道的炒蛤蜊怎么做? 怎么辨别一个人说的是真话还是假话? 如果一个女生经常抖脚.能够看出她的什么性格吗 女生给你发短信的时候喜欢发像:):D:P 这样的微表情,有什么寓意吗? 女生看我的时候抿嘴,怎么解读这个微表情? 怎样从小动作或是微表情看出一个女生喜欢你? 女生拒绝你就是不喜欢你吗?要读懂女生哪些信号? 为什么有些女生看到我,会微表情的扩大一下瞳孔,这代表什么? 幼儿语言在教育时,应该注意些什么呢? 女生姨母笑代表什么 怎么看幼儿教育是一个心灵唤醒另一个心灵 女生聊天微表情? 你的言行是孩子最好的老师,怎么规范自己言行? 骆驼祥子第三章的阅读感,急急急,不是概括,是感悟,感悟,感悟,谢谢 有人说作为一名幼儿园老师能唱会跳会画就行,不需要什么理论这样的说法正确吗? 幼儿园老师如何成为优秀的人 请韩国语翻译成英语 帮忙翻译成英语或韩语 学造价先需要什么基础,学造价先需要什么基础知识 铝合金窗防雷接地怎么连接? 青岛蛤蜊的做法,青岛蛤蜊怎么做好吃,青岛蛤蜊 笔记本装不装电池?这样有什么好处? 笔记本电脑插电源时候是装电池好还是不装电池好 如何消化来自他人的恶意?你会怎么应对? 一个人的恶意能隐藏得多深? 笔记本电脑不装电池上网可以吗? 对电脑有好处还是有坏处 为什么我觉得别人都有恶意啊? 怎样看出一个人对你有恶意 面对陌生人很莫名的恶意,你们一般是怎么做的? 笔记本不用电池,直接插电源好吗 笔记本电脑如果插电源使用,是装电池好还是不装电池好,哪种方法电池寿命更长一些? 一觉醒来,突然发现好重的眼袋与黑眼圈,急求解决方法或者立刻改善,谢谢 黑眼圈特别严重,还有明显的眼袋,怎么办 为什么人对人的恶意那么大呢 面对陌生人的恶意,怎么淡定 人生在世会遭受各种人的评价,如何消化来自他人的恶意呢? 为什么有些人总是对别人抱有恶意的想法? 青春期,长了痘痘怎么办? 欢乐书客的小说如何下载到本地