2013-10-01 7 views
5

ほとんどのブラウザ(最新世代)では、「A」やSpaceのようなキーを入力するとマウスカーソルが非表示になることを知っています。これは、ユーザーに入力した内容を表示させるためのものです。 ピクセルのマウスを動かすとすぐにカーソルが表示されます。キーを押した後にカーソルがブラウザに隠れないようにする

ここで問題が発生します。これは、divなどの非入力要素にフォーカスした場合でも、ブラウザのどこでも発生します。私はショートカットとしてキーを使用しているので、私は、ユーザーがキーを押した後、ブラウザが私のカーソルを隠すことを望まない。

質問があります - これが起こらないようにする方法やトリックなどがありますか?そして/またはキーアップ後にカーソルが再び自動的に表示されるようにしますか?

私は目に見えないdivなどのようにウェブ上でさまざまな "ハック"を試みましたが、成功していないものがありました。

EDIT:最新のMAC-OS-Xのすべてのブラウザ(Chrome最新、Firefox最新、Safari最新)でこの問題が発生しています。

+3

は、Linux/UbuntuでクロムまたはFirefoxで発生しません。プラグインがインストールされていませんか?またはマウスドライバの機能を有効にしましたか? –

+1

私はあなたが記述した動作を再現しようとしましたが、私にとってはうまくいかないようです。 Windows7 +最新のクロムまたは最新のFirefox。使用している環境を指定できますか? – 4ndrew

+0

Mac OS X 10.8.4のChromeで確認済み –

答えて

2

もapple.stackexchange.comにこの質問を参照してください。ユーザー:

  1. するたびにカーソルが移動し、それは文書がkeyUpイベントを観察すると、実際のカーソルが最後に見た場所の正確な座標にカーソルの画像を表示
  2. 位置だセーブ(それはまだそこですが、隠された)
  3. 実際のカーソルが再び移動すると、画像を非表示に(実際には、1。でこの機能をマージ)

問題ここでは、カーソル画像を表示するために何かを知ることになるだろう。まず、ユーザーがMac(またはカーソルを隠している別のOS)上にいるかどうかを検出する必要があります。また、カーソルが表示されている場所によってカーソルを表示する必要があります。これは、ホバリングしているすべての要素について、どのカーソルが表示されているかを検出し、同じカーソルの画像を表示する必要があることを意味します。

リンクと入力のホバリング(それぞれpointertext)をカバーするいくつかのCSSルールを追加することで、基本/デフォルトをカバーできますが、ユーザーが自分のOSで定義されたカスタムカーソルを使用する場合はどうなりますか?

私はまだコードを試していませんが、これは理論上で動作するはずの概念なので、もっと助けが必要な場合はお知らせください。しかし、正直なところ私はこれを達成しようとしないよう勧めます。それはそれが解決するよりも多くのトラブルをもたらすだろう、今。

-edit- ここでは概念の証明です:http://jsfiddle.net/4rKMx/2/

+0

私はカスタムカーソルを使用します。あなたの「解決策」はそれをどのように扱いますか? –

+0

それは私がこの答えにはっきりと述べていることなので、私はそれをお勧めしません。私はちょうど完全に技術的に指摘することを望んでいましたが、これを行うことは可能です(完璧な解決策ではありませんが) –

+0

これは本当に良いアイデアです!私が実際に抱える唯一の問題は、私のカーソルが* .cur形式であるため、画像を使って直接レンダリングできないことです。 – anderswelt

4

これはブラウザの動作ではなく、オペレーティングシステムの動作、特にMacの動作です。ブラウザに入力するだけでなく、Mac上のどのアプリケーションでも、カーソルは非表示になります。

これは、ブラウザーが高いレベルから隠されているため、カーソルに関する知識や制御がないことを意味します。たとえば、CSSやJavaScriptを使用してカーソルを変更することはできますが、移動するまで表示されません。実際にはJavaScriptを使ってカーソルを移動することはできませんが、オペレーティングシステムがカーソル移動の信号を受け取っていないため、助けてもらえないか疑問が残っています。私はちょうどこれに対する可能な解決策を考え、迷惑ではない方法でこれを行うには本当に難しいことになるだろう How do I disable hiding of the mouse pointer while typing text?

関連する問題