1

on()iOSのSafariモバイルブラウザでjQueryの関数を次のように使用しています。

$("#content").on(".element", click(function(){ do stuff});

Safariをクリックすると、領域だけでなく領域.element全体が強調表示されます。#content.element

使用する場合

$(".element").click(function(){do stuff});

代わりに、右側の領域が強調表示されます。これは予想される動作だと思いますが、ユーザーにとってはまったく直感的ではないため、回避策を探しています。

を使用することでハイライトを完全に取り除くことができることは知って-webkit-tap-highlight-color: rgba(0,0,0,0);いますが、CSSのホバーはモバイルデバイスではまだ役に立たないため、ハイライトは実際には一般的にかなり便利だと思います。

jQueryのon関数とSafariMobileを使用して、タップのハイライトを取得する方法はあり.elementますか?

4

1 に答える 1

5

私はそれを次のように解決しました:

  1. csspseudeクラスdocument.addEventListener("touchstart", function(){}, true);を有効にするドキュメント準備機能を追加します:active
  2. タップハイライトを完全に無効にする:-webkit-tap-highlight-color: rgba(0,0,0,0);
  3. 追加する.element:active{background: #cccccc;}

このようにして、クリックされた(アクティブな)要素は、タッチされたときに素敵な灰色の背景になります。

于 2012-10-02T07:41:52.057 に答える