2011-05-02 3 views
8

..방지 브라우저 팝업 내가 대신 내가 정의 대화 페이지를 표시 할 .. "탭 보류"에 게재 기본 브라우저 메뉴를 방지 어떻게 JQuery와 모바일 기반의 웹 앱에서

$(".task_row").bind('taphold',function(event, ui){ 
    event.preventDefault(); 
    $("#slide_down_menu").trigger('click'); 
}); 
+2

을 보여주지이란? 무슨 브라우저 야? 'contextmenu' 이벤트와'.preventDefault(); false false;')를 청취 해보십시오. – naugtur

답변

0

무엇 ontouchstart 이벤트를 사용하는 방법에 대한 .. 내 코드는 현재로서는 다음에서 언급? 나는 이것이 기본 iPad 상호 작용이 발생하는 것을 막기 위해 이것을 사용했다고 확신한다.

$(".task_row").bind('touchstart', function(event, ui){ 
    event.preventDefault(); 
    $("#slide_down_menu").trigger('click'); 
}); 
0

꽤 가까웠습니다. 올바른 코드는 다음과 같습니다

$('#ciytList li a ').bind('taphold', function(e) { 
    e.preventDefault(); 
    return false; 
}); 
+0

아니요, 작동하지 않습니다. 적어도 Android에서는. – matteo

1

말썽 당신이 결합 된 'taphold'이벤트가 jQuery를 모바일에 의해 트리거되는 사용자 정의 이벤트하므로 브라우저의 기본 동작을 트리거 같은 이벤트되지 않는 것입니다 .

피하려고하는 기본 메뉴가 URL을 "열거 나 복사"할 수있는 경우, 하나의 해결책은 <a> 태그를 사용하지 않는 것입니다. 스팬 또는 div를 사용하는 경우 브라우저 기능을 바꿀 수있는 온탭 기능을 바인딩 할 수 있으며 태폴드 이벤트는 기본 동작으로 중단되지 않습니다.

0

난 그냥 ... 아니 링크를 벗고는 하나처럼 보이게하기 위해 CSS를 적용하고이

$.mobile.changePage("#main", { transition: "slideup"});

을 사용하지만 난 이미 그것은 삭제 버튼을 표시하는 클릭 이벤트에 결합했다 더 많은 팝업 메뉴

0

오른쪽 클릭을 해제해야한다는 것을 알았습니다.

$(function(){ 

    document.oncontextmenu = function() {return false;}; 

    $(document).mousedown(function(e){ 

     if (e.button == 2) 
     { 
      alert('Right mouse button!'); 
      return false; 
     } 

     return true; 
    }); 
}); 
10

CSS를 사용 :

a { 
    -webkit-touch-callout: none !important; 
} 

당신이 그것을 오른쪽 버튼을 클릭해서 메뉴 아니다 확신 표준 대화

+0

이것은 나를 위해 일했습니다. 내 문제는 동일했다. 사용자가 일부 링크를 길게 누르지 않도록하고 싶습니다. 그것은이 CSS에 의해 달성됩니다. –

+0

iOS에서 훌륭하게 작동하는 Android 용 앱이 있습니까? – JonWells

+2

크롬을 사용하여 Android 4.0.3에서 나를 위해 작동하지 않았습니다. –