2011-07-14 19 views
1

私は自分のページに隠れた入力をしています。隠れて見えるのですが、プレーンテキストのようです。Opera - 入力にフォーカスがないようにする

例えばhttp://jsfiddle.net/imoda/nVhp8/

を取るしかし、私は、ユーザーがそれをクリックし、情報を編集できるようにしたくありません。基本的には無効にしますが、htmlではdisabledに設定しないでください。私は近くにいると思うが、私が試したことは何も働いていない。

Opera以外のすべてで動作するようです。助けてください?

+1

なぜこのような入力が必要でしょうか? – Gedrox

+0

編集ボタンをクリックすると、入力は「ライブ」になり、枠線を戻します.Googleの連絡先を編集するのと同様です。 –

+0

リンクに投稿した例で何が問題になっていますか? –

答えて

8

$("input").focus(function(){ 
    var _this = this; 
    setTimeout(function(){_this.blur();},1); 
}); 

、より拡張例..タイムアウトを使用します?

JS Fiddle

参考文献:

+0

さらに優れています。そうすれば、人々は依然としてテキストを選択することができます。ありがとう。 –

+0

firefoxでは、入力の中でカーソルをフォーカスして動かすことができます。あなたは何も入力することはできませんが、それは理想よりもまだ少ないです – billynoah

4

編集ボタンがクリックされた後、なぜ単純にその属性を削除し、readonly属性を使用しないで、その代わりにjQueryを使ってのhttp://jsfiddle.net/gaby/nVhp8/2/

+0

私は '$(this).hasClass( 'inactive')'を使用しましたが、同じ違いがあります。これはOperaでもうまくいきますが、他のブラウザでは面白い効果があります(クロムやオペラをチェックしてください)。フィールド内をクリックしてドラッグすると、ブラウザの「グロー」がフィールドの周りに表示されます。また、あなたの例で "World"をダブルクリックすると、 "hello"の前にドラッグすることができます。これはそこに到達していますが、よりよい解決策があるはずです。 –

関連する問題