6

これは他のすべての質問と同じではありません。 ドラッグ中にChromeがテキスト選択モードに入るのをすでに防いでいます。 (編集:アイコン/外観のみをロックし、場所や移動を制限せず、マウスダウンとマウスアップの間のみをロックしたい)回避したい問題は、ドラッグ中にChromeがカーソルをカーソルの下にあるものに変更することです(つまり-テキスト入力コントロール上での i ビーム、ハイパーリンク上での手など)。

IE と FireFox/Moz は、私が mousedown イベントで呼び出す element.setCapture() をサポートしています。これは、これらのブラウザーを要素に「ロック」して、マウス カーソルがその要素のカーソルにとどまるようにします.. とてもいいです。Chrome は、私が知っているその機能、またはそのような機能をサポートしていません。

クリックされた要素ではなく、ドキュメント オブジェクトの mousemove および mouseup イベントを監視することで、setCapture() の動作のほとんどを取得できます。つまり、要素の外部で発生したマウス イベントを追跡できます。ブラウザ ウィンドウ。ただし、Chrome でマウス カーソルが変化するという 1 つの問題がまだ残っています。

4

2 に答える 2

3

ユーザーがユーザーの入力デバイスを制御するために最近導入された方法であるPointerControlLock APIを探していると思います(許可されている場合)。大きなユースケースはゲームです。

安全でサポートされているAPIがなければ、サイトがユーザー入力コントロールを引き継ぐことを許可することはかなり悲惨なことです(つまり、クリックジャッキングやマルウェアの強制ダウンロード)。したがって、カーソルを「ロック」する場合は、これが唯一の選択肢である可能性があります。

于 2013-01-29T15:49:08.887 に答える
0

私は通常、目的のカーソルをマウスダウンで他のすべての上に要素を配置し、マウスアップで削除します。最もクリーンなアプローチとはほど遠いですが、それは私にとってはうまくいきます。

于 2014-04-10T13:58:43.787 に答える