禁用长水龙头在Android上的上下文菜单上下文、水龙头、菜单、Android

2023-09-11 11:58:37 作者:归去如风

我想禁用长按(触摸并按住)在我的Web应用程序中的图像后出现的上下文菜单。我已经看到了不同的想法的帖子如何做到这一点,但没有人似乎为我工作。

I would like to disable the context menu that appears after a long tap (touch and hold) on images in my web application. I've seen posts with different ideas how to do it, but none of them seem to work for me.

有没有办法通过HTML做到这一点在Android / CSS / Javascript的?

Is there a way to do this on Android via HTML/CSS/Javascript?

推荐答案

这应该在1.6或更高版本(如果我没有记错)。我不相信有一个变通方法1.5或更早版本。

This should work on 1.6 or later (if I recall correctly). I don't believe there's a workaround for 1.5 or earlier.

<!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="https://m.xsw88.com/allimgs/daicuo/20230911/4039.png.jpg" width="400">
</body>
</html>