2013-04-15 7 views
5

Czy jest jakaś alternatywa dla opcji -webkit-touch-callout, która działa na telefonach z systemem Android. Próbuję wyłączyć długotrwałe wyskakujące okienko na urządzeniach mobilnych. Próbowałem powiązać zdarzenie taphold jQuerys, aby zwrócić false; ale bez powodzenia ... Masz pomysł? Dzięki!CSS: alternatywy -webkit-touch-callout dla Androida

+0

można użyć "e.preventDefault()" na razie touchstart. – Smeagol

+0

http://stackoverflow.com/questions/15012702/webkit-touch-callout-equivalent-for-ie – Alvaro

Odpowiedz

1
<!DOCTYPE html> 
<html> 
<head> 
    <script> 
    function absorbEvent_(event) { 
     var e = event || window.event; 
     e.preventDefault && e.preventDefault(); 
     e.stopPropagation && e.stopPropagation(); 
     e.cancelBubble = true; 
     e.returnValue = false; 
     return false; 
    } 

    function preventLongPressMenu(node) { 
     node.ontouchstart = absorbEvent_; 
     node.ontouchmove = absorbEvent_; 
     node.ontouchend = absorbEvent_; 
     node.ontouchcancel = absorbEvent_; 
    } 

    function init() { 
     preventLongPressMenu(document.getElementById('theimage')); 
    } 
    </script> 
</head> 
<body onload="init()"> 
    <img id="theimage" src="http://www.google.com/logos/arthurboyd2010-hp.jpg" width="400"> 
</body> 
</html> 

Źródło: Disabling the context menu on long taps on Android