zoukankan      html  css  js  c++  java
  • javascript touch事件

    touchstart : 當手指觸摸屏幕時觸發;即使已經有一個手指放在了屏幕上也會觸發。

    touchmove : 當手指在屏幕上滑動時連續的觸發,在這個事件發生期間,商用preventDefault()可阻止滾動。

    touchend : 當手指從屏幕上移開時觸發。

     

    除了常見的DOM屬性處,觸摸事件還包含下列三個用於跟蹤觸摸的屬性:

     

    touches : 表示當前跟蹤的觸摸操作的Touch對象的數組。

    targetTouches : 特定於事件目標的Touch對象的數組。

    changeTouches : 表示自上次觸摸以來發生了什麼改變的Touch對象的數組。

     

    每個Touch對象包含下列屬性

     

    clientX : 觸摸目標在視口中的X座標。

    clientY : 觸摸目標在視口中的Y座標。

    identifier : 表示觸摸的唯一ID。

    pageX : 觸摸目標在頁面中的x座標。

    pageY : 觸摸目標在頁面中的y座標。

    screenX : 觸摸目標在屏幕中的x座標。

    screenY : 觸摸目標在屏幕中的y座標。

    target : 觸摸的DOM節點座標。

     

    下面例子:

    <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>touch事件</title>
    </head>
    <body>
    <style type="text/css">
    #c_card{ width:100px; height:200px; border:#F00 1px solid;}
    </style>
    <section> 
    <div id="c_card"></div>    
    </section>
    <script type="text/javascript">
    function touchStart(event){
        if(event.targetTouches.length != 1){return false;}//單點觸控
        touch = event.targetTouches[0];
        touObj.innerHTML = touch.pageX+'_'+touch.pageY;
        
    }
    
    function touchMove(event){
        event.preventDefault();
        if(event.targetTouches.length != 1 || !move){return false;}//單點觸控
        touch = event.targetTouches[0];
        touObj.innerHTML = touch.pageX+'_'+touch.pageY;
    }
    
    function touchEnd(event){
        touObj.innerHTML = 'end';
    }
    
    
    var touObj = document.getElementById("c_card");
    touObj.addEventListener("touchstart",touchStart,false);  
    touObj.addEventListener("touchmove",touchMove,false);
    touObj.addEventListener("touchend",touchEnd,false); 
    
    </script>
    </body>
    </html>
  • 相关阅读:
    MVC动态添加文本框,后台使用FormCollection接收
    使用结构struct作为Dictionary<TKey,TValue>的键
    扩展方法的几个实例,扩展基本类型、接口、通过反射让扩展方法使用私有成员等
    使用Enum.TryParse()实现枚举的安全转换
    .NET泛型04,使用Lazy<T>实现延迟加载
    .NET泛型03,泛型类型的转换,协变和逆变
    .NET泛型02,泛型的使用
    dd、split、csplit命令
    seq命令
    uniq命令
  • 原文地址:https://www.cnblogs.com/helin/p/3205254.html
Copyright © 2011-2022 走看看