2

ボタンをクリックしたときのjspで、javascriptを使用したポップアップウィンドウを表示しています。ポップアップコンテンツは、別のサードパーティサイトを使用して表示されます。ポップアップには閉じるボタンがあり、ポップアップを閉じるときに、jspでボタンを非表示にするか表示しないようにする必要があります。これをどのように処理しますか?

4

3 に答える 3

1

要素を非表示にするために使用でき$(selector).hide(); ます。外側のクリックでポップアップを閉じる方法は次のとおりです。

また、純粋なJavaScriptと次のものを使用できます。

document.getElementById('elementId').style.visibility = 'hidden';

非表示にするには、要素の外側をクリックします。

$(document).click(function (event) {

    if (event.target.className != 'elementToOpen' &&
      $(event.target).parents().index($('#popupWrap')) == -1) {

        if ($('#popupWrap').is(':visible')) {
            $('#popupWrap').hide();

            // .hide() will give selected element css(display:'none')
        }
    }

});
于 2012-06-05T14:20:09.157 に答える
1

ポップアップの終了コードを制御できる場合は、ポップアップウィンドウで次のことを試してください。

window.opener.document.getElementById('myButton').style.visibility="hidden";

開いたウィンドウの閉じるコードを制御できない場合、誰かが賢いアイデアを思いつきます。

var win = window.open('http://www.google.com', 'google','width=800,height=600,status=0,toolbar=0');   
var timer = setInterval(function() {   
    if(win.closed) {  
        clearInterval(timer);  
        document.getElementById('myButton').style.visibility="hidden";
    }  
}, 1000);  

更新: Internet Explorerの場合、別のドメインから開いているウィンドウにページを読み込むと、保護モードがオンの場合、ウィンドウへの参照ではなくnullが返されます。このフィドルを参照してください。

于 2012-06-05T14:43:49.833 に答える
0

JQueryも使用している場合は、ボタンのID /クラスを取得して、ボタンによって呼び出されるjs関数に以下を追加できます。

$("#yourID").hide();
$(".yourClass").hide();
于 2012-06-05T14:11:55.137 に答える