2016-07-14 8 views
5

私はa webpage using WebGL on a fullscreen canvasです。キャンバスに触れるとiOS Chromeが淡色表示にならないようにするにはどうすればよいですか?

私が選択

*, *:before, *:after { 
     -webkit-user-select: none; 
     -moz-user-select: none; 
     -ms-user-select: none; 
     user-select: none; 
    } 

を停止するには、このCSSを持っていると私はそれが暗くクロームのiOSで画面に触れたとき、私は、コンテキストメニューに

gl.canvas.addEventListener('contextmenu', function(e) { 
    e.preventDefault(); 
    return false; 
}); 

を停止するには、このコードを持っていますが。ここでは、最初にChromeのiOSを表示し、次にSafariのiOSを表示する問題のgifを示します。グラフィックススタッターを無視:

Imgur

それともここユーチューブバージョン

https://youtu.be/1Znsehs-n8E

注意です。何らかの理由で画面キャプチャのエクスポートがうまくいかない

クロムには、背景が灰色で点滅することがあります。 Safariでは常に白です。それは私が止めようとしているクロムの灰色です。

画面をタップするだけで画面が効果的に点滅し、実際に気を散らすので、本当に面倒です。

更新

だから私はゼロからのスタートしようとして部品を追加していきました。それはclickイベントのリスティングに関連のキャンバスに関連していないように見えます。

私は

gl.canvas.addEventListener('click', function() {}); 

を持っている場合それは私が調光を取得します。もし私がそれを取り除くなら、私はしません。 touchstartのイベントのリストは、だから、それは間違いなくキャンバスに無関係なないだ調光

アップデート2に

が発生することはありません。私はキャンバスを削除し、ちょうどdiv要素を使用しますが、私はclickをチェックしていた場合、私はこれらのCSSの設定は、これは

elem.addEventListener('touchstart', function(e) { 
    e.preventDefault(); 
}); 

私は働いていた

* { 
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
    pointer-events: none; 
} 

助けにはならなかった

調光を得ますpreventDefaultのその他の影響があるかどうかわからないtouchstart

答えて

3

TLを試してみてください; DRは:質問

1

お試しください-webkit-tap-highlight-color: rgba(0,0,0,0);

問題が解決しない場合は、pointer-events: none;

+0

おかげではなく働いていた人々のどちらの下への更新を参照してください。これは

elem.addEventListener('touchstart', function(e) { e.preventDefault(); }); 

ロングバージョンを、それを修正しました。私は少なくとも1つの回避策を見つけました。 – gman

+0

これは私にとっての解決策でした。これは、クリック/タッチイベント(必ずしもではなく)でコンテナに適用する必要があることに注意することが重要です。私のケースでは、イベントを登録した親コンテナにこれを追加する必要がありました。また..ありがとう! – Evildonald

関連する問題