2010-08-13 10 views
4

나는 아이폰과 안드로이드 용 HTML과 자바 스크립트로 이미지 드래그 앤 드롭과 관련된 웹 앱을 작성했다.이미지를 저장하기 위해 안드로이드 "길게 누르기"방지

약 1 초 동안 손가락을 잡고 드래그를 시작하십시오. 그러나 Android가 이미지를 저장하고 배경 화면으로 설정하는 옵션을 제공하는 메시지를 팝업합니다.

어떻게하면 Android에서이를 방지 할 수 있습니까? 사용할 수있는 메타 태그가 있습니까? 일부 자바 스크립트?

답변

2

자바 스크립트에는 해당 이벤트에 대한 브라우저의 기본 동작을 방지하는 기능이 있습니다. 자바 스크립트 시도에서

:

event.preventDefault(); 

참조 : https://developer.mozilla.org/en/DOM/event.preventDefault 웹보기를 보여줍니다 활동에

+1

하지만 어떤 이벤트? 손가락을 집을 때까지는 아무 것도 발사되지 않습니다. – user385990

+0

mouseup/click/longpress 이벤트를 어떻게 지정하고 있습니까? 그것이 당신이 정의하는 곳입니다. 이벤트에 첨부 된 모든 사용자 지정 함수는 브라우저 전에 실행됩니다. 즉, event.preventDefault(); 안드로이드 기능을 사용하기 전에 긴 프레스 이벤트를위한 함수에서 실행해야합니다. 코드를 좀 더 볼 수 있을까요? – UpHelix

+0

내가 원하는 것은 이미지를 누르고 있으면 Android 대화 상자가 팝업되지 않기 때문입니다. – user385990

0

, GestureDetector.SimpleOnGestureListener을 확장하려고합니다. 그런 다음 onLongPress(MotionEvent e) 메서드를 무시하고 아무 것도하지 않습니다.

그래도 작동하지 않으면 webview에서 가져온 사용자 정의 웹보기를 만들어서 거기에있는 Override를 재정의해야 할 수도 있습니다.

아니면 당신

 

WebView wv =(WebView) findViewById() 
wv.setClickable(false) 
 
+0

Android 앱이 아닌 웹 페이지입니다. – user385990

+0

오, 나는 오해했다. 귀하의 웹 앱과의 인터페이스를 위해 안드로이드 앱을 작성하고 있다고 생각했습니다. 그렇게 오래 길들여서 안드로이드를 막을 수 있을지 확신하지 못합니다. – Falmarri

1

사용이 이벤트 :

  $(document).on('contextmenu', function (e) { 
       // stop long touch hold from poping up context menus 
       return false; 
      }); 
관련 문제