我的家園

          我的家園

          使用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;
                          }
                      }
                  }
                  
                  // 在這里可以直接監(jiān)聽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
          測試結(jié)果在Canvas上可以正常寫字,表示通過.
          在Chrome測試通過.





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


          ITeye推薦




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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 大荔县| 桓台县| 鲁山县| 永川市| 历史| 云安县| 清丰县| 边坝县| 阿拉善盟| 格尔木市| 凤山市| 明溪县| 保康县| 平昌县| 嘉黎县| 安塞县| 洛南县| 施秉县| 渑池县| 吉安县| 通辽市| 宝坻区| 琼结县| 黎平县| 铜鼓县| 延长县| 上虞市| 建平县| 攀枝花市| 钟祥市| 福海县| 日照市| 甘谷县| 庆元县| 拉孜县| 平山县| 穆棱市| 石狮市| 莱州市| 上虞市| 武平县|