3

これと同様の質問がありますが、解決策には別のライブラリを使用するか、代わりにクリックイベントを使用するかのいずれかです - ライブラリなしで達成できるかどうか疑問に思いました.

画像で touchstart イベントを使用して 1.5 秒のタップを検出すると、その画像がリロードされます。ただし、ほとんどのモバイル デバイスでは、画像を一定時間長押しすると、画像を保存/コピーするかどうかを確認するポップアップが表示されますが、これは防止したいと考えています。

preventDefault()トリックを行いますが、画像のスクロールも無視します(予想どおり)。

画像のスクロールも許可する最良の方法は何でしょうか?

コード例:

$('#the-image').bind('touchstart', function(event) {
    event.preventDefault();
    //detects long tap, then reloads etc
});

iOS には正常に動作する CSS プロパティ ( -webkit-touch-callout:none) がありますが、iOS 以外のデバイスでは動作しません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

CSS-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;が使えるか試してみてください。

node.ontouchstart = node.onclick;そして、コンピューターのマウスを使用していると認識させるのは良いトリックです。

Android でのロング タップでのコンテキスト メニューの無効化を参照してください。

于 2014-01-04T00:44:12.773 に答える