2011-07-25 8 views
1

私は多くのラベルとそれの対応する入力フィールドでjQueryのモーダルフォームで問題が発生しています。jQueryのモーダルフォームの入力フィールドオートフォーカスの問題

私はjQueryのモーダルフォームを開き、スクロールダウンしたときに問題が発生します。 JQueryモーダルフォームを閉じて再度開くと、フォームが自動的にスクロールされ、最初の入力フィールドがフォームの上部にあり、キーボードフォーカスが適用されます。ただし、最初の入力フィールドの上にラベルとヘッダーが表示されません。

$( "input")。blur()を試して、最初のinput要素のキーボードフォーカスを無効にしましたが、モーダルフォームは自動的にスクロールして最初の入力フォームが画面。

また、私はjQueryのモーダルフォームで他のすべての上に隠し入力フィールドを配置しようとしましたが、Firefoxはそれについてスマートで、まだ最初のアクティブ非隠されたinput要素にスクロールします。

誰もが前に、このような状況に遭遇した、そうであれば、誰もがそれのための適切な解像度を知っていますか?

+1

ちょうど熟考していますが、開いているときにモーダルの内容をリロードするのは問題でしょうか?それは、サーバーの要求を犠牲にしながら、問題を解決するはずです。 –

+1

「JQueryモーダルフォームを開いてスクロールダウンする」と言ったとき、なぜ最初のコントロールに焦点を当てているのだろうか?あなたはどこでも 'focus()'や 'scrollIntoView()'をやっているjavascriptはありませんか? –

+0

否定的ですが、自分のコードでfocus()やscrollIntoView()関数を呼び出すことはまったくありません。私はそれがJQueryに関連していると思いますが、わかりません。私はモーダルの内容をリロードすることができましたが、私はかなりの遅延(5〜10秒、ひどい)のサーバー要求に関わるフレームワークの中で作業しています。私はこの問題を解決しましたが(下記参照)、これはフレームワークまたはJQueryの奇妙なものと思われます。 – sichinumi

答えて

1

問題を解決しました。 ( "ダイアログ")を

$ scrollTopスプライト(0);:私は、jQueryのモーダルダイアログのdiv自体にscrollTopスプライト()メソッドを使用しそうのような。

これはFirefoxのautopositioningは明らかにそのオートフォーカスとネクタイしないよう、オートフォーカス/ぼかしの問題から独立した別個です。