0

ダイアログボックスを開くハイパーリンクを含むテーブルがあるページがあります。ページはかなり長く、すべての行には、外部ページをロードするダイアログボックスを開くリンクがあります。

スクロールする前にリンクをクリックすると、画面の中央にダイアログボックスが表示されます。ページを下にスクロールしてからリンクをクリックすると、ページの中央にあるダイアログボックスが開きますが、ブラウザは自動的にページの上部にスクロールします。したがって、ページのどこにいるかによっては、ダイアログボックスがまったく表示されません。

ダイアログの位置を次のように一番上に設定しようとしました$('.selector').dialog({ position: 'top' });。私はまた、次のように位置を絶対に設定することによってそれをやろうとしました:.ui-widget { position: absolute; }

それはどれもうまくいきませんでした。私はそれを機能させることができないようです。ページの上部または中央でダイアログを開いても問題ありませんが、ダイアログから離れないようにページをスクロールする必要があります。

これが起こっていることの小さな例です-ダイアログテスト

私はこれをFirefox、chrome、safari、IEでテストしました。それらはすべてほとんど同じことをします。

これに関するどんな助けも素晴らしいでしょう。

ありがとう

4

2 に答える 2

3

hrefアンカーの が ID セレクター ( )#<id>の場合、ブラウザーはその ID を持つ要素に移動します。ID が指定されていない場合、ブラウザーはページの先頭に移動します。

ハンドラーで false を返すことにより、アンカーのデフォルトの動作をキャンセルします。

$(".vd").click(function(){
    $("#detailWin").dialog("open");
    return false;
});

一般的にこれを回避する別の解決策は、をに設定するhrefことですjavascript:void(0)

<a href='javascript:void(0)'>Open dialog</a>
于 2012-04-04T15:37:15.350 に答える
0

href='#' を href=' ' に変更してみてください。アンカーはページの先頭に移動します。

于 2012-04-04T15:38:55.310 に答える