Touch事件 移动端touch触摸事件

<!-- HTML5 -->
<!DOCTYPE html>
<html>
<head>
    <title>TouchEvent测试</title>
    <meta charset="gbk">
</head>
<body>
<h2>TouchEvent测试</h2>
<br />
<div id="version" style="border:2px solid black;background-color:yellow"></div>
<br />
<br />
<br />
<br />
<br />
<br />
<div id="result" style="border:2px solid red; color:red;">未触发事件!</div>
<div id="test" style="border:2px solid red">
    <ul>
        <li id="li1">测试条目1</li>
        <li id="li2">测试条目2</li>
        <li id="li3">测试条目3</li>
        <li id="li4">测试条目4</li>
        <li id="li5">测试条目5</li>
        <li id="li6">测试条目6</li>
        <li id="li7">测试条目7</li>
        <li id="li8">测试条目8</li>
        <li id="li9">测试条目9</li>
        <li id="li10">测试条目10</li>
        <li id="li11">测试条目11</li>
        <li id="li12">测试条目12</li>
        <li id="li13">测试条目13</li>
        <li id="li14">测试条目14</li>
        <li id="li15">测试条目15</li>
        <li id="li16">测试条目16</li>
        <li id="li17">测试条目17</li>
        <li id="li18">测试条目18</li>
        <li id="li19">测试条目19</li>
        <li id="li20">测试条目20</li>
    </ul>
</div>

<script type="text/javascript">
    //全局变量,触摸开始位置
    var startX = 0, startY = 0;

    //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;

            var text = ‘TouchStart事件触发:(‘ + x + ‘, ‘ + y + ‘)‘;
            document.getElementById("result").innerHTML = text;
        }
        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坐标

            var text = ‘TouchMove事件触发:(‘ + x + ‘, ‘ + y + ‘)‘;

            //判断滑动方向
            if (x - startX != 0) {
                text += ‘<br/>左右滑动‘;
            }
            if (y - startY != 0) {
                text += ‘<br/>上下滑动‘;
            }

            document.getElementById("result").innerHTML = text;
        }
        catch (e) {
            alert(‘touchMoveFunc:‘ + e.message);
        }
    }

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

            var text = ‘TouchEnd事件触发‘;
            document.getElementById("result").innerHTML = text;
        }
        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);
        }
    }

    window.onload = isTouchDevice;
</script>
</body>
</html>  
时间: 2024-10-12 23:22:26

Touch事件 移动端touch触摸事件的相关文章

学习记录 -- 移动端的触摸事件

移动端的触摸事件分为三个 1.touchstart 手指刚放上添加事件的元素时触发 2.touchmove   手指在添加事件的元素上移动时触发 3.touchend 手指在添加事件的元素上离开时触发 每个事件都包含三个事件属性 a.touches 正在触摸屏幕的所有手指的一个列表 b.targetTouches  正在触摸当前DOM元素上的手指上的一个列表 c.changedTouches    涉及当前事件的手指的一个列表 原文地址:https://www.cnblogs.com/hros/

移动端常用触摸事件以及常用坐标

一.触摸事件 基本事件: touchstart   //手指刚接触屏幕时触发 touchmove    //手指在屏幕上移动时触发 touchend     //手指从屏幕上移开时触发 下面这个比较少用: touchcancel  //触摸过程被系统取消时触发 每个事件都有以下列表,比如touchend的targetTouches当然是 0 咯: touches         //位于屏幕上的所有手指的列表 targetTouches   //位于该元素上的所有手指的列表 changedTou

移动端JS 触摸事件基础

一.手机上的触摸事件 基本事件: touchstart   //手指刚接触屏幕时触发 touchmove    //手指在屏幕上移动时触发 touchend     //手指从屏幕上移开时触发 下面这个比较少用: touchcancel  //触摸过程被系统取消时触发 每个事件都有以下列表,比如touchend的targetTouches当然是 0 咯: touches         //位于屏幕上的所有手指的列表 targetTouches   //位于该元素上的所有手指的列表 change

移动端js触摸事件大全

一.手机上的触摸事件 基本事件: touchstart   //手指刚接触屏幕时触发 touchmove    //手指在屏幕上移动时触发 touchend     //手指从屏幕上移开时触发 下面这个比较少用: touchcancel  //触摸过程被系统取消时触发 每个事件都有以下列表,比如touchend的targetTouches当然是 0 咯: touches         //位于屏幕上的所有手指的列表 targetTouches   //位于该元素上的所有手指的列表 change

Quick cocos2dx-Lua(V3.3R1)学习笔记(九) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧

本篇就开始讲单点触摸事件,我们在前面用UIPushButton做菜单那篇,就用了触摸事件,只不过我们感觉不出来,我们基本不需要分析触摸消息.这篇我们用一个精灵模仿出按钮效果,加强理解 至于原理,廖大在文档中讲的很清楚,就不赘叙了. Quick的触摸机制(点我点我(*^__^*)) 一般,我们按按钮的时候,总会发现,按钮按下去,按钮会缩小,松开,按钮会恢复原来的大小. function MyScene:ctor() local sprite = display.newSprite("Hello.p

Android的事件传递机制 之 触摸事件之onTouchEvent

三.motionevent的onTouchEvent流程 最底层的View的dispatchTouchEvent会调用onTouchListener来进行处理motionevent,或者使用onTouchEvent来处理motionevent,不论哪种都默认会返回true.所以这时ViewGroup的dispatchTouchEvent返回值为true,所以Activity的dispatchTouchEvent的返回值是true. 如果我们没定义自己的onTouchListener,并且重写了o

移动端二三事【二】:移动端触摸事件点透及多种解决方案。

大家都知道的少说,多分享一些干货. 一.首先说移动端的三大主要事件: 1.手指按下: ontouchstart2.手指移动:ontouchmove3.手指抬起 ontouchend *使用移动端事件时,为尽可能地保证兼容性与调试时的友好性,尽可能用事件绑定的方式.例如: /* 注意: 在移动端开发的时候,浏览器的模拟器时好时坏,一般不用on的方式绑定事件函数,要用事件绑定的方式(addEventListener). */ //用以下方式浏览器的移动端模拟器可能会无法识别事件 var div =

触摸事件中touchstar、touchmove、touchend、touchcancel事件应用方法及实例

一. 分享到: 前面我们介绍过移动设备中一些设备事件,例如手机旋转90度.倾斜等设置放置姿态变化的四大事件orientationchange事件.MozOrientation事件.deviceorientation事件.devicemotion事件,接下由南昌网站建设公司百恒网络前端开发工程师向大介绍在移动端的触摸事件.       iOS版 Safari为了向开发人员传达一些特殊信息,新增了一些专有事件.因为 iOS设备既没有鼠标 也没有键盘,所以在为移动 Safari开发交互性网页时,常规的

HTML5触摸事件演化tap事件

触摸事件是移动浏览器特有的HTML5事件,虽然click事件在pc和移动端更通用,但是在移动端会出现300ms延迟,较为影响用户体验,300ms延迟来自判断双击和长按,因为只有默认等待时间结束以确定没有后续动作发生时,才会触发click事件.所以触摸事件反应更快,体验更好. 触摸事件的类型: 为了区别触摸相关的状态改变,存在多种类型的触摸事件.可以通过检查触摸事件的 TouchEvent.type 属性来确定当前事件属于哪种类型. 注意: 在很多情况下,触摸事件和鼠标事件会同时被触发(目的是让没