2011-09-15 1 views
2

IE 8でthis pageを確認してください。IEの絶対divの下にカーソルを隠しておくことはできますか?

入力ボックスに注目してください。青いdivの上に点滅するカーソルが表示されます。 ChromeやFirefoxではこれは起こりません。

これはブラウザのバグですか?回避策はありますか?

+2

IEでは、ウィンドウネイティブtexteditコンポーネントを使用します。これらのコンポーネントはすべての上に置かれ、OSによって処理されます。ラジオボタン、チェックボックス、unstylesボタンと同じです。あなたはXPクラシックテーマ対XPテーマの下にあるボタンを見ると、これを実際に見ることができます。前者では灰色のボタンを、後者ではいいXPスタイルのボタンを取得します。これは本当にバグではなく、あなたが生きなければならないものです。 – Gerben

+0

@Gerben - あなたの答えは単純に "私はできません"、そうですか?コメントの代わりに答えとして入れることができます。 – ripper234

+0

回避策があります。よく分かりません。見るごとにバグではないということだけです。 – Gerben

答えて

1

これは本当にIEの問題です。

おそらく、入力フィールドとしてスパン要素などを使用できます。次に、押されたキーを聴くようにイベントハンドラを設定することができます。

たとえば、次のJavaScriptスニペットは、要素のinnerHTMLプロパティに文字を挿入することができます:

function addChar(element, event) { 
    if (!event) event = window.event; 
    element.innerHTML += String.fromCharCode(event.keyCode); 
} 

...とHTMLスニペット:あなたはまだ必要

<span onkeypress="addChar(this, event);"></span> 

注意バックスペースを押すと、ブラウザが以前に訪問したWebページに移動するのを防ぐ回避策。

たとえば、event.preventDefault()で行うことができます。または、

<body onkeydown="if(event.keyCode==8||event.keyCode==13)return false;"> 

などを使用できます。

http://www.mcemperor.nl/test/hidecaret/には、例があります。

関連する問題