3

iPad や iPhone の Web アプリケーションで、画像を指で押したままにするとメニューが表示されないようにする方法はありますか。私はリモコンを作成しており、ontouchstart および ontouchend 組み込み関数を使用して、実装した「ontouchhold」関数を作成しています。この関数は、ontouchstart および ontouchend 組み込み関数を使用して、サーバーとして機能しているコンピューターを介して IR 信号を送信します。その間、ユーザーは画像に対して指を押し続けます (ontouchend 関数は間隔をクリアします)。唯一の問題は、ユーザーが指を長く押し続けると、私が実装した javaScript 関数 ontouchhold が機能しなくなることです。これは、画像をコピー/保存するかどうかをユーザーに尋ねるメニューがポップアップするためです。このメニューが表示されないようにできればいいのですが。

4

4 に答える 4

5

次を使用できます。

-webkit-user-select: none;

このプロパティにより、html要素が選択できなくなり、iPhoneのコピー動作が防止されます。

于 2011-07-07T12:03:07.310 に答える
2

-webkit-touch-callout: none;他のイベントを無効にすることなく、コピー/保存ダイアログが開かないようにするだけのトリックをしているようです。

pointer-events: none;コピー/保存ダイアログも防止しますが、画像に添付された他の依存イベントも防止します

于 2014-01-30T18:08:57.397 に答える
1

要素にa を追加するpreventDefault()と、コピー メニューが表示されなくなります。

// HTML
<img scr="screenshot.jpg" id="dontshowcopy" />

// JS
element = document.getElementById('dontshowcopy');

element.addEventListener("touchstart",   preventCopy, false); // simple touch events
element.addEventListener("gesturestart", preventCopy, false); // events with more than one finger

function preventCopy(event) {
    event.preventDefault();
}

ただし、この要素でスワイプイベントが開始されたときのスクロールも防ぎます。

于 2011-05-24T10:51:31.207 に答える
0

iOSや携帯電話についてはわかりませんが、画像を背景画像にすると、通常、保存するオプションが表示されません.....

于 2011-04-11T01:47:40.857 に答える