4

デフォルトでは、画面をタップし続ける (例: タップを 1 秒間保持する) と、画像の保存 / コピーのオプションが表示されます。ただし、Web アプリでその機能をオフにしたいのですが、可能ですか? touchmove のイベントを selectall に置き換えようとしましたが、うまくいきません。助けてくれてありがとう。

addEventListener('touchmove', function(e) { e.preventDefault(); }, true);
4

2 に答える 2

4

preventDefault だけでなく、他のプロパティも無効にすると有益な場合があります。

e.preventDefault(); 
e.cancelBubble = true;
e.returnValue = false;
return false;

また、イベントは touchmove ですか?

于 2012-12-19T09:32:24.167 に答える
3

純粋なCSSでこれを行うことができることに言及する価値があると思いました. IE10 も Opera Mobile もサポートしていないため、これはあまり良い考えではありません。しかし、それは可能であり、将来的には、これはおそらく JavaScript よりも優れた方法になるでしょう。または、iPhone と iPad についてのみ話している場合、この方法は非常にうまく機能します。CodePenの例を次に示します。

コードは簡単です:

.notouch {
    pointer-events: none;
}

notouch影響を与えたい画像にクラスを与えるだけです。

ページ上のすべての画像に対して実行する場合は、次のようにします。

img {
    pointer-events: none;
}

そして、ユーザビリティについて義務的なスピーチをする必要があります。これを行うことで、人々が常にそこにあると期待するデフォルトの機能を上書きしています。本当に、本当に正当な理由がない限り、このようなものをオフにすることは、本当に悪い経験になります. ですから、必ずそうしてください。

編集

虫眼鏡を取り除くには、次のコードを使用します。

.notouch {
    pointer-events: none;
    -webkit-user-select:none;
}

「なし」に-webkit-user-select設定すると、ポインター イベントをオフにする必要さえないかもしれませんが、それについてはわかりません。CodePenも更新しました。

于 2012-12-20T03:01:32.670 に答える