2016-08-14 2 views
3

사용자가 단추를 누를 때 호출하는 임의의 함수가 있습니다. 사용자가 버튼을 놓을 때까지이 기능을 계속 실행하고 싶습니다.사용자가 AngularJS에서 단추를 놓을 때까지 함수를 여러 번 호출하는 방법

마우스 다운 지시어를 찾았지만 모바일 용으로 작동하지 않는 것 같습니다.

또한 ng-touchstart lib를 사용하여 아래 코드를 시도했습니다.

HTML

<div id="vs"> 
    <span ng-touchmove="randomize($event)" ng-controller="myCtrl">VS</span> 
</div> 

컨트롤러 ng-touchmove 이벤트와

.controller('myCtrl', function($scope) { 
    $scope.randomize = function($event) { 
    // trigger this function again and again till user releases the button 
    }; 
}) 

심지어 트리거되지 않습니다.

내가 원하는 것을 얻을 수있는 방법이 있습니까?

답변

0

마우스가 데스크톱 버전에서 작동하는 경우 휴대 기기에서 touchstart 및 touchend를 사용해보세요. touchmove는 버튼을 누르면 작동하지 않습니다.

Ionic은 휴대 전화 또는 데스크톱에 있는지 감지하기 위해 여러 가지 기능을 갖추고 있습니다.이 기능을 사용하여 터치에서 마우스 다운 이벤트로 전환 할 수 있습니다.

크롬 속성을 사용하여 터치 버튼을 디버깅하고 오류 코드가 무엇인지 확인하십시오.

이전에이 문제에 부딪혔습니다. 이 거의 각도에서 같은 방법이 될 것이라고 확신

   $('#function').on('mousedown touchstart', function (evt) { 
       }) 

시 (우리는 각도와 함께이 사용). 더 나은 문서와 함께 플러그인으로 변경하는 것을 고려해보십시오. 적절한 문서를 찾을 수 없습니다.

+0

내 앱은 모바일 전용이므로 mousedown 이벤트를 처리 할 필요가 없습니다. 구현을 위해서 당신은'touchstart'가 무한 루프를 호출하여 내 함수를 호출하고'touchend'가 무한 루프를 깨뜨릴 것을 제안합니까? – 113408

+0

우리는 이것을 사용하고 그것은 매력처럼 작동합니다 :) –

관련 문제