2014-06-09 1 views
0

Sencha Touch 앱에 Google지도가 있습니다. 그 위에 많은 svg 요소를 그립니다.Sencha Touch의 GoogleMap에서 svg에 대한 이벤트를 길게 누르는 방법

이제 터치 및 홀드를 추가하고 싶습니다. (사용자가 1.5 초보다 긴 svg 요소에서 그림을 길게 터치하면 트리거됨을 의미합니다.) 각 svg 요소에 대해 짝을 이루어야합니다. 클릭 한 svg 요소와 관련된 정보 대화 상자를 팝업합니다.

내가 시도 : (중 하나가 작동하지 않습니다)

var startTime 
     Ext.create('Ext.util.TapRepeater', { 
      el: drawnElements[uniqueTrackID], 
      listeners: { 
       touchstart: function() { 
        startTime = new Date(); 
       }, 
       touchend: function() { 
        var now = new Date(); 
        if (now - startTime >= 1500) 
        { 
         Ext.Msg.alert("haha"); 
        } 
       } 
      } 
     }); 

Ext.util.TaPrepeater이 (작동하지 않습니다) 그리고 또한 SVG에 직접 이벤트를 추가하는 시도

drawnElements[uniqueTrackID].on('touchstart', function() { 
     startTime = new Date(); 
    }); 

    drawnElements[uniqueTrackID].on('touchend', function() { 
     var rightNow = new Date(); 
     if (rightNow - startTime >= 1500) { 
      Ext.Msg.alert("haha"); 
     } 

    }); 

및 매우 제한된 관련 게시물을 발견했습니다.

도와주세요.

답변

1

touchstart 및 touchend 이벤트에 인수가 있습니다. 그 중 하나는 터치 세부 정보 (인수 [0])입니다. 다음과 같이 사용할 수 있습니다.

touchstart: function (details) { 
        userTime = details.touch.timeStamp; 
       }