jqueryのUIダイアログを使用して、コンテンツが長すぎてポップアップの高さに収まらない条件&条件ポップアップを受け入れるようにしました。したがって、ダイアログがポップアップするとスクロールバーが表示されますが、スクロールバーが下部に表示されます。コンテンツが高さよりも長い場合、jqueryUIダイアログのスクロールバーが先頭から始める可能性がありますか?
これはダイアログオプションでは可能ではないようです。
トップにスクロールバーでダイアログを開く方法を知っていますか?
jqueryのUIダイアログを使用して、コンテンツが長すぎてポップアップの高さに収まらない条件&条件ポップアップを受け入れるようにしました。したがって、ダイアログがポップアップするとスクロールバーが表示されますが、スクロールバーが下部に表示されます。コンテンツが高さよりも長い場合、jqueryUIダイアログのスクロールバーが先頭から始める可能性がありますか?
これはダイアログオプションでは可能ではないようです。
トップにスクロールバーでダイアログを開く方法を知っていますか?
最初にフォーカスを受け取ったダイアログのコンテンツの下部に要素があると、ダイアログが開いたときにスクロールバーがその要素にスクロールします。コメントに回避策を試すことができます。これは、問題が実際にフォーカスの問題によって引き起こされた場合に有効です。あるいは、can manually scroll the dialog's content to the topです。あなたはそうのように、オープンコールバックを指定し、そこにトップの位置にダイアログの内容をスクロールすることによって、これを達成することができます
$("#dialog").dialog({
open: function() {
$(this).scrollTop(0);
}
});
ありがとうございます。どちらのアプローチも素晴らしいです。デフォルトで最初の入力要素にフォーカスを設定したいのでない限り、jqueryUIのバグのようです。 – devjeff
@devjeff私の答えがあなたを助けてくれたら問題はありません。ありがとう。 –
これは私を悩ませていました。デフォルトは入力に向かって、あるいは少なくとも底部に向かって開くようです。ダイアログの上部に表示される情報はすべて失われているか、またはスクロールして表示する必要があります。ダイアログボックスの上部で開き、ユーザーが下にスクロールできるようにするのが理にかなっています。残念ながら、$(this)は機能せず、autoOpen:trueオプションを使用しているので、ダイアログ( 'open')に使用された同じセレクターを呼び出すこともできませんでした。代わりに、$( 'body')を設定します。scrollTop(0);ロード時にページの上部にダイアログボックスが開きます。 – nwolybug
あなたがスクロールペインの一番下にある任意のフォーム要素(入力、ボタンなど)を持っていますか?このダイアログには、そのような要素の集中に関するいくつかの問題があるためです。回避策は、ダイアログマークアップの一番上に入力を添付して、ダイアログのオープンコールバックでその入力を削除することです。おそらく問題は[この質問](http://stackoverflow.com/questions/1202079/prevent-jquery-ui-dialog-from-setting-focus-to-first-textbox)に関連しています。 –