2013-12-24 1 views
0

이제 html5 및 phoneGap을 기반으로 모바일 앱을 개발하고 있습니다. JS 패밀리는 엠버입니다. 앱 사양은 긴 프레스 동작에 응답해야합니다. 그러나 긴 보도 이벤트는 엠버 빌트인 이벤트가 아닙니다.Ember 기반 앱에서 길게 누르는 제스처를 인식하는 방법은 무엇입니까?

제스처를 인식하고 이벤트 처리 (컨트롤러 또는 경로)에 연결하려면 어떻게해야합니까?

+0

당신이 긴 프레스를 처리하는 자바 스크립트 라이브러리의 어떤 종류가 있나요은? 그렇다면 Ember보기를 작성하여 긴 Press DOM 이벤트를 처리하는 데 사용할 수 있습니다. – claptimes

+0

여기에는 스크립트가있는 SO [answer] (http://stackoverflow.com/questions/2625210/long-press-in-javascript)가 있습니다. – claptimes

+0

Ember는 길게 누를 수 없습니다. 문제를 처리하기 위해 touchStart 및 touchEnd 이벤트를 사용합니다. –

답변

0

mouseUpmouseDown으로이 작업을 수행 할 수 있었지만 확실한 이벤트는 touchStarttouchEnd입니다. here

카드를 설치 jsbin 볼 수 있지만, 여기에 관련 코드입니다 :

var myfunction = function() { 
    alert('held'); 
} 

App.ApplicationView = Ember.View.extend({ 
    mouseDown: function(e){ 
    var runLater = Ember.run.later(this, myfunction, 1000); 
    this.set('pressed', runLater); 
    }, 

    mouseUp: function (e) { 
    Ember.run.cancel(this.get('pressed')); 
    } 
}) 
+0

"myfunction"의 뷰 속성에 액세스하려면 어떻게해야합니까? 예를 들어 상대 컨트롤러에 이벤트를 보내려고합니다. –

+0

문제가 해결되었습니다. 감사. –

관련 문제