我的家園

          我的家園

          使用phantom-limb 模擬Touch 事件

          Posted on 2012-04-15 16:37 zljpp 閱讀(326) 評論(0)  編輯  收藏
          1
          下載 phantom-limb.js

          2.
          使用

          2.1
          index.html

          <!DOCTYPE html>
          <html>
          <head>
              <title>Hello World</title>
              <link rel="stylesheet" href="../touch/resources/css/sencha-touch.css" type="text/css">
              <script type="text/javascript" src="../touch/sencha-touch-all-debug.js"></script>
              <script type="text/javascript" src="app.js"></script>
          </head>
          <body></body>
          <script src="../phantom-limb/phantom-limb.js" type="text/javascript"></script>
          </html>
          


          注意phantom-limb位置.

          2.2
          app.js

          /**
           * @example miniphone
           */
          Ext.application({
              name: 'App',
          
              launch: function() {
                  Ext.create('Ext.Panel', {
                      fullscreen: true,
                      html: '<div id="canvasCt"><canvas id="canvas" width="600" height="600" style="border: 1px solid #F00" /></div>'
                  });
                  
                  var canvas = Ext.get('canvas');
                  var context = canvas.dom.getContext('2d');
                  
                  context.lineWidth = 4;
                  
                  var drawer = {
                      isDrawing : false,
                      touchstart : function(e) {
                          e.preventDefault();
                          var coors = {
                              x : e.targetTouches[0].pageX,
                              y : e.targetTouches[0].pageY
                          };
                          context.beginPath();
                          context.moveTo(coors.x, coors.y);
                          this.isDrawing = true;
                      }
                      ,
                      touchmove : function(e) {
                          var coors = {
                              x : e.targetTouches[0].pageX,
                              y : e.targetTouches[0].pageY
                          };
                          if (this.isDrawing) {
                              context.lineTo(coors.x, coors.y);
                              context.stroke();
                          }
                      }
                      ,
                      touchend : function(e) {
                          if (this.isDrawing) {
                              this.isDrawing = false;
                          }
                      }
                  }
                  
                  // 在這里可以直接監聽touch事件了.
                  canvas.dom.addEventListener('touchstart', drawer.touchstart, false);
                  canvas.dom.addEventListener('touchmove', drawer.touchmove, false);
                  canvas.dom.addEventListener('touchend', drawer.touchend, false);
              }
          });
          


          3
          測試

          3.1
          測試結果在Canvas上可以正常寫字,表示通過.
          在Chrome測試通過.





          已有 0 人發表留言,猛擊->>這里<<-參與討論


          ITeye推薦




          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 嘉鱼县| 保山市| 乌鲁木齐市| 绥德县| 元氏县| 平阴县| 崇文区| 宜春市| 宜宾县| 孟村| 新兴县| 岗巴县| 巴青县| 凤庆县| 渭南市| 南宁市| 瑞丽市| 合水县| 平昌县| 丰都县| 南平市| 孟村| 沐川县| 沈阳市| 鸡泽县| 南部县| 金山区| 景泰县| 武穴市| 新竹市| 如皋市| 湛江市| 梨树县| 汕头市| 江孜县| 高平市| 平阴县| 永丰县| 南漳县| 广水市| 卫辉市|