2010-12-19 9 views
1

私は、レポートビューとフォームの両方として使用するフォームを持っています。当初、テキスト入力(テキストおよびテキストエリア)は、境界線/背景を持たないようにスタイルされています。私はまた、彼らはフォーカスを拒否します確認するために、次のjQueryコードを使用します。jQueryのハックはOperaの代替手段ではありませんか?

$('input[type="text"], textarea').focus(function() { 
    $(this).blur(); 
}); 

これはFirefoxで動作しますが、それは(と、おそらく他のWebKitブラウザ)オペラではありません。私はdisabledプロパティを使用したくないので、(一般的な意味で)控えめでないように入力をスタイルできないためです。入力を隠し、状態がviewの場所にspanまたはdivを表示し、状態がformに変更されたときにvisible-hiddenプロパティをスワップすることができます。実際には、これは選択、ラジオボタン、およびチェックボックスに対して行っています。しかし、私がそれをそのまま動作させることができれば、それほどうまくいかないでしょう。助言がありますか?

編集 - 削除されたWebkitタグ、あなたをFylkeにしました。

+1

'$ this'とは何ですか? 「これ」を意味しますか? –

+0

@Pekka - ああ、それは他のものに加えて、ここでタイプミスです。元のコードでは正しいです、私は編集し、訂正します、ありがとう。 –

+1

OperaはWebkitブラウザではないことを指摘したいと思っています。それはあなたが暗示しているものではないかもしれませんが、確かにOperaのように見えます。 – Fylke

答えて

4

「無効」ではなくthe "readonly" attributeを使用するだけではどうですか? "readonly"をtrueに設定しても、フィールドの表示方法は変更されません(つまり、CSSで変更できるようになります)。

つまり、このレイアウトを再利用するこのアプローチは、フィールド値がレイアウトに割り当てられたスペースよりも多くなると問題になる可能性があります。編集可能なテキストフィールドの場合、ユーザーは値をスクロールできることは一般的に理解していますが、フィールドがフィールドのように見えない場合はかなり変わってしまいます。

+1

リンクを追加する自由を取った。 –

+0

+1ありがとうございました!それがスタック上にある場合、あなたは命の恩人になるでしょう! (テストの後、すぐに)承諾します) –

+0

ありがとう@TJ !!私はちょうど良い簡潔な記述をどこかで探していた。 (まだ誰も私が古風なblooberry.comのHTML文書を使っていますか?) – Pointy

関連する問題