2013-06-26 40 views
19

readonly属性を持つ<input>フィールドがある場合、Iビームテキストカーソルとともに表示されます。カーソルの表示を停止する方法はありますか?<input>のreadonly属性をカーソルを変更せずに使用する

無効なフィールドでrequest.getParameter()が機能しないため、disabled属性を使用できません。

+0

どのようにビルドしていますか(JSPコード? HTMLコードですか?) ' '? – acdcjunior

+0

「マウスカーソル」vs「キーボードカーソル」または「[ポインタ](https://en.wikipedia.org/wiki/Pointer_(グラフィックユーザインターフェイス)」vs「キャレット」と言ったカーソルを明確にする場合は、 (https://en.wikipedia.org/wiki/Caret_navigation)」を参照してください。テキストフィールドの場合、両方のカーソルはIビームのように見えます。 – Tgr

+1

'request.getParameter()'が機能していないのは、selectまたはinputのような要素に属性が "disabled"に設定されている場合、フォームの一部であるときには送信されないためです@Premshankar Tiwari –

答えて

4

<input type="text" value="test" onfocus="this.blur()" readonly="readonly" />

テキストフィールドのフォームでこのマークアップを試してみてください主なものは、ONFOCUS = "これです.blur() "

+1

オハイオ州...素晴らしい...これは前に気付かなかったのですが... Firefoxで動作しますが、IEではぼかしをするのに時間がかかります...まだ良い解決策です.thanks –

+0

このシナリオはIEでうまくいきません。私はブートストラップCSSのカーソルをオーバーライドし、 ''を 'readonly'のままにしてCSSポインタプロパティを書きます。 – instinct

26

readonly要素のアイデアは、テキストを読み取ってコピーすることができ、編集することはできないということです。つまり、CSS attribute selectorsを使用してカーソルを変更できます。この例ではreadonly属性を持つ任意のinput要素にマッチします:あなたがカーソルを隠すことができます

input[readonly] { 
    cursor: pointer; 
} 
+0

Iそれを試してみました...あなたがマウスを動かすとそれぞれのカーソルが表示されますが、クリックするとフィールドがカーソルを取得します。 –

+3

+1選択してコピーできることについての良い点! – frequent

+3

うまくいかない場合は、 cursor:pointer!important; これにより、デフォルト設定が大幅に強化されます。私はTwitterのブートストラップでもっと仕事をするほど、もっと身近になっています。 :| –

12

私は、次の解決策と一緒に来て、私は、ブートストラップのデフォルトのスタイルを上書きしたくありませんでした:

マイLESSファイル:

input[readonly] { 
    &.default-cursor { 
     cursor: default; 
    } 
} 

またはCSSで:

input[readonly].default-cursor { 
    cursor: default; 
} 

私のHTML :

<input type="text" class="form-control text-xl default-cursor" readonly> 
+0

これはITです、ありがとうございました!:) –

+0

@totas:ありがとう!これは最高の答えです。 – PhatHV

4

キャレットを表示したくない人向け:

input[readonly] { 
    pointer-events: none; 
} 
関連する問題