2011-10-20 19 views
0

ユーザーがリンクをクリックしたときに開くモーダルダイアログ(jquery.dialog)があります。ダイアログの背後にあるページのスクロールバーを非表示にして、ユーザーがそれを使用できないようにします。これはオーバーフローと完全に正常に動作します:それを行うときにページ全体を混乱させる古いIEブラウザ以外は隠されています。ページジャンプなしで固定のdiv位置を設定

私はこれをIEで動作させるために考えました。ページの内容全体をカバーしているdivを作成し、相対位置と幅/高さ:100%に設定しました。その後、いつでもモーダルダイアログが開き、位置は固定に設定されます。オーバーフローを引き起こす:古いIEで隠された作業。

今、他の問題が発生しました。ユーザーがページの一番下にあり、リンクをクリックすると、ダイアログがポップアップしますが、メインページは先頭にジャンプします。

可能であれば、メインページを元のままにしておきたいです。どうすればいいですか?

ありがとうございます。

ダイアログを閉じ/表示するコード:

ショー:

$('#allContent').css({ position: "fixed" }); 

$('#viewJobPanel').dialog('open'); 

$('#allContent').css('overflow', 'hidden'); 

近い:

$('#allContent').css('overflow', 'visible'); 
$('#allContent').css({ position: "relative" }); 
$('#viewJobPanel').dialog('destroy'); 

、ユーザーがリンクをクリックしたときに、私はこのイベントハンドラ

を持っています
e.preventDefault(); 
e.stopPropagation(); 
+0

コードを表示します。私の最高の推測では、リンク内のハッシュのためにページが一番上にジャンプしているということです。 –

+0

私の質問にコードを追加しました – Victor

+0

あなたのリンクとモーダルのHTMLを投稿します –

答えて

0

spanは、アンカー要素ではなくクリックイベントにバインドされ、ウィンドウの上部を再配置するデフォルトの動作を回避します。