2009-08-28 16 views
1

を中心に、私は今、私は、データベースクエリを実行すると、レコードの長いリストを返す jQueryのダイアログボックス

position: 'center' 

に設定されているjQueryのダイアログボックスがあり、各レコードは、「編集」ボタンがあります。ページを下にスクロールしてレコードの編集ボタンをクリックするとjqueryがポップアップしてダイアログを開き、スクロール位置に基づいてダイアログを中心にしますが、ページスクロールを先頭に戻すので、ダイアログはもはや中央揃えになりません。

だから私の質問があり、

  1. 私は、ダイアログが開いたときに私のスクロール位置をリセットするから、jQueryのを止めることはできますか?

  2. 「center」キーワードを使用しないで、位置を中央に設定するにはどうすればよいですか?

+0

#記号は、この問題が発生したアドレスバーにURIの最後に表示されていますか? –

+0

はい、私はそれを気付かなかった。 –

+0

restlessdesignのように、あなたはボタンではなくリンクを使用しています。あなたはfalseを返す必要があります。 –

答えて

4

"center"は "position"プロパティの有効な値ではないため、あなたにはわからないjQueryプラグインを使用している必要があります。しかし、編集ボタンをhrefの値を "#"に設定したリンクとして設定したとします。これがジャンプの原因です。これを防ぐには、そのボタン上のクリックイベントハンドラ内でfalseを返す:

$('a.edit').click(function() { 
    // logic goes here 
    return false; 
}); 
+0

センターが有効ですhttp://jqueryui.com/demos/dialog/#option-position –

2

トニー、あなたの「ボタン」は、実際のhref「#」に設定されており、実際の作業を行うのonclickハンドラとのリンク、です。

ブラウザは、「存在しないアンカーに行きます」と解釈し、ページの上部に移動します。

jQueryイベントを使用している場合はRestlessdesignが適しています。

<a href="#" onclick="doSomething();return false();" ... 
+0

これは私のためには機能しませんでした。私は前に戻ります。 –

+0

返品後は何も実行されません。 –

1

これは私のために働いていたものです:あなたはマークアップであなたのonclickハンドラを定義している場合は、のような何かをします。

私の機能で

、リンクを

function myedit() 
{ 
.... 
return false; 
} 

<a href='#' onclick='return myedit();' >edit</a> 
0

私はこれは古い記事ですけど、私はちょうど私のダイアログが中心にいませんでした。この問題に遭遇したので、私は他の誰かのためにこれを見いだすかもしれないと思った。私のページでは、jQuery Dimensionsプラグインも使用しています。

jQuery UIスクリプトの後にdimensionsスクリプトをロードした場合、ダイアログの位置が壊れてしまいます。 jQuery UIの前にロードされ、ダイアログが正常に機能しました。

2

あなたはトップにジャンプからページを防ぐために、イベントオブジェクトとのpreventDefault()メソッドを使用することができます。

$('a.edit').click(function (event) { 
    event.preventDefault(); 
    // logic goes here 
}); 
0

私もこの年後につまずきました。私はこれが解決策を探している誰かを助けることを願っています。

ソース:

http://jqueryui.com/position/#default

$("#result").position({ 
    of: "#wrapper", 
    my: "center middle", 
    at: "center middle",  
    collision: "fit flip" 
})//$("#result").position({ 
関連する問題