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