2012-08-14 2 views

답변

0

이것은 내가 생각해 낸 해결책입니다. 정말 바보 같지만 작동합니다. 당신이 당신의 응용 프로그램 창을 만들든지,이 코드를 추가

function touchStart(){ 
    Titanium.App.Properties.setBool("touch", true); 

    self.removeEventListener("touchstart", touchStart); 
} 

self.addEventListener("touchstart", touchStart); 

이 윈도우의 이름으로 self를 교체합니다. 이제 터치 이벤트가 처음 감지되면 응용 프로그램 속성이 설정됩니다. 나중에

, 그 터치가이와 존재 확인 : 당신이 "장치"를 변경할 때

var touchSupported = Titanium.App.Properties.getBool("touch", false); 

당신이 에뮬레이터에서이 작업을 테스트하는 경우가 있으며,이 건물도 지속될 수 있습니다. 따라서 무엇보다도 먼저 다음 줄을 추가하십시오.

Titanium.App.Properties.setBool("touch", false); 
1

가장 쉬운 방법은 터치 이벤트 지원을 테스트하는 것입니다. 지원되는 경우 장치에 터치 스크린이있을 수 있습니다. 그렇지 않은 경우 어쨌든 사용할 수 없거나 사용할 수 없습니다.

var touchSupported = ('ontouchstart' in window); 

그러나 브라우저가 터치 이벤트를 지원 수 있으므로주의해야하지만 장치 수도 없습니다 (예를 들어, 크롬 (20)는 터치를하지 않는 장치에서 터치 이벤트의 많은 지원) : 하나 개의 솔루션입니다.

사용자가 버튼을 클릭하여 터치 이벤트가 전달되는지 아니면 클릭 만 표시되는지를 알 수 있습니다.

+0

불행히도, 이것은 작동하지 않았습니다. 티타늄이 "표준"이벤트 이름을 사용하지 않는다는 것을 언급해야합니다. 그래도 고맙습니다. –

+0

"버튼을 클릭하도록 사용자를 유도 하시겠습니까?" – RobG

+0

나는 그것에 대해 생각해 봤지만 투명하게 (내 대답) 할 수있는 방법을 찾았습니다. –

관련 문제