3

この間、いくつかの新しい webApp を作成しましたが、ドラッグ アンド ドロップに大きな問題があります。私はjavascriptでファイルマネージャーを書いていますが、モバイル(スマートフォン、タブレット、Android、またはiOS)でドラッグアンドドロップをしようとすると、電話はURLまたは画像をコピーするためのロングプレスメニュー(たとえばフォルダーアイコン)を表示します。JSでモバイルでlongPressを無効にする方法はありますか?

css経由で画像をロードすることは、私にとって有効な解決策ではありません。

4

2 に答える 2

9
-webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
    -webkit-user-select: none;                  /* prevent copy paste, to allow, change 'none' to 'text' */
于 2013-06-25T13:08:11.420 に答える
0

android|iphone|ipad などの値を確認してnavigator.userAgent比較すると、Java スクリプトで次のことができます

function init() {
  onLongPress(document.getElementById('element'));
}

function onLongPress(node) {
  node.ontouchstart = nullEvent;
  node.ontouchend = nullEvent;
  node.ontouchcancel = nullEvent;
  node.ontouchmove = nullEvent;
}

function nullEvent(event) {
  var e = event || window.event;
  e.preventDefault && e.preventDefault();
  e.stopPropagation && e.stopPropagation();
  e.cancelBubble = true;
  e.returnValue = false;
  return false;
}
于 2013-06-25T13:06:43.473 に答える