2013-04-15 14 views
5

Androidベースの携帯で動作する-webkit-touch-calloutの代替手段はありますか? モバイルデバイスのロングタッチポップアップを無効にしようとしています。 jQueryのtapholdイベントをバインドしてfalseを返そうとしました。運がない... 何か考えていますか? ありがとう!CSS:アンドロイドの-webkit-touch-calloutの代替語

+0

あなたはtouchstartイベントの "e.preventDefaultを()" を使用することができます。 – Smeagol

+0

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

答えて

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> 

出典:Disabling the context menu on long taps on Android