0

mousedownユーザーがカスタム ドロップダウン リストを押したときに、イベントを停止しています。これは、ユーザーが効果的にマウスをドラッグしている間、ブラウザーのデフォルトのテキスト強調表示動作を回避するためです。

ハンドラー関数でjQuery 呼び出しを使用してこれを実行し、event.preventDefault()false を返します。

これには望ましい効果がありますが、Chrome では:hover、マウスがまだ押されている間は CSS ステートが機能しなくなります。

Firefox では同じ問題は発生しません。テキストの強調表示はキャンセルされ、ユーザーがマウスを押したままアイテムをロールオーバーすると、:hover 状態が機能し続けます。

Chromeでも機能する方法はありますか?

カスタム クラスを追加するためにハンドラーをさらに追加することmouseoverもできますが、CSS で :hover 疑似クラスを使用できるように、より適切なソリューションを希望します。

4

3 に答える 3

0

ドキュメントのマウスダウンで、このクラスを本文に追加するだけです:

.stopSelect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

これにより、テキストの選択が妨げられます。マウスアップでクラスを削除します。

于 2012-07-05T22:04:41.727 に答える
0

CSS を :hover, .hover { ... } として定義し、マウスオーバーでクラスを切り替えるだけです

于 2012-07-05T18:24:52.627 に答える
0

テキストの強調表示を防ぐために、そのための CSS3 プロパティがあります。SOの質問でこの情報を見つけました。「テキストテーブルのハイライトを防ぐ

編集: この「CSS を使用してテキスト選択の強調表示を無効にする方法は?」 は、より多くのブラウザーがカバーされているため、よりクロスブラウザーになっているため、より優れていると思います。

于 2012-07-05T18:17:01.413 に答える