2012-02-21 4 views
3

検索ボタンがあるjspに1つのウィンドウを設計しました。ユーザーが「検索」ボタンをクリックすると、新しいウィンドウが表示されます。しかし、現時点では、親ウィンドウが無効になるようにしたいので、ユーザーが親ウィンドウで何かをしようとすると、「検索」フォームが閉じられるまで許可してはいけません。誰もがその後、私に知らせてくださいこれを行う方法を知っている場合親ウィンドウのボタンをクリックして子ウィンドウが表示されている間に親ウィンドウを無効にする方法

私はすでにこのソリューションJavascript to open popup window and disable parent windowを試してみましたが、この解決策は、親ページ上のリンクを無効にすることができません。 と私はshowmodaldialogを使用するつもりはありません。 それとも誰かが例で私にShowDialog()の使用を説明することができ おかげで、 ラケッシュ

答えて

5
function openSearchPopUp() { 
    popupWindow= window.open(url,'window','width=800, 
          height=600,location=yes, 
          menubar=‌​yes,scrollbars=yes, 
          resizable=yes'); 
    popupWindow.focus(); 
    document.onmousedown = focusPopup; 
    document.onkeyup = focusPopup; 
    document.onmousemove = focusPopup; 
} 

function focusPopup() { 
    if(popupWindow && !popupWindow.closed) { popupWindow.focus(); } 
} 
+0

IE 8.0で動作していますが、Google Chromeでは動作しません。 –

2

私はモーダルウィンドウを提示する方法は、私はその後、高Zインデックスで、ドキュメント全体をカバーDIVを作成し、そしてありますクリックイベントの伝播を防ぎます。 jQueryのでは、私はこのようにそれを行うだろう:

// When popup window is open: 
var $cover = $('<div>'); 
$cover.css({ 
    height: $(document).height(), 
    width: $(document).width(), 
    margin: 0, 
    padding: 0, 
    background: 'black', 
    opacity: 0.5 
}); 
$cover.click(function(e) { 
    e.stopPropagation(); 
    return false; 
}); 
$cover.appendTo(document); 

EDIT:ここで私は純粋なJSを使用して間に合わせと-なかった何か。私はそれがより良いクロスブラウザのサポートのために改善できると確信しています。

http://jsfiddle.net/wVNbx/1/

+0

私はhttp://www.aspsnippets.com/Articles/Modal-PopUp-using-JavaScript.aspxこのリンクを使用して、この種のアプローチを使用しているが、それは親ウィンドウ – rcky

+0

の唯一の縦半分に着色することができ、私は」私が開発しているサイトで上記のアプローチを実際に実装しています。 (https://herdhound.com/で結果をチェックし右上隅にある「始める」ボタンをクリックしてください – hayavuk

+0

@foxbunny ....おかげでなく、jQueryを使って慣れていない例ではJavaScriptを使用して – rcky

1

あなたはGreyboxを使用することができます。これはあなたの条件を十分でしょうhttp://orangoo.com/labs/GreyBox/

希望:リンクをご覧ください。

+0

これは本当に素晴らしいリンクです、ありがとう – user1114409

関連する問題