如何根據條件打開打開的彈出窗口。如何在jquery中關閉彈出窗口
它看起來很奇怪,但我有要求基於一些條件,如果它變成真實的彈出應該會自動關閉,該怎麼做?
我已經返回.dialog("close")
在document.ready
事件,但它不起作用。任何想法?
UPDATE
我發現問題其實是有彈出窗口關閉,但在完成它再次打開ready事件後再次。任何幫助?
如何根據條件打開打開的彈出窗口。如何在jquery中關閉彈出窗口
它看起來很奇怪,但我有要求基於一些條件,如果它變成真實的彈出應該會自動關閉,該怎麼做?
我已經返回.dialog("close")
在document.ready
事件,但它不起作用。任何想法?
UPDATE
我發現問題其實是有彈出窗口關閉,但在完成它再次打開ready事件後再次。任何幫助?
這應該做在彈出窗口的工作:
<script>
$(function() {
if (condition) {
window.close();
}
});
</script>
男人我不想關閉窗口,我想關閉jquery對話框。 – commit
這是一個老帖子,但櫃面別人運行到這個問題,我也有類似的問題,用一個jQuery彈出窗口,甚至不與
$("#popup").dialog('close');
的溶液,適於從一個同事的代碼關閉,是對腳本秒的頂部的控制變量並在打開彈出窗口時將其設置爲1,並在需要關閉時將其重置爲0。此外,我從頁面加載(仍然在JavaScript)的HTML刪除彈出這樣的:
<script>
<code>
var $l = jQuery.noConflict();
var cntDialog = 0;
</code>
function pageLoad(sender,args) {
$l(function() {
if (cntDialog == 0) {
RemoveDialog();
});
}
function initializeDialog(){
$l("#popup").dialog({
...
close: (function (sender,event) {
RemoveDialog();
})
});}
function RemoveDialog() {
cntDialog = 0;
$l("#popup").remove();
}
</script>
希望它可以幫助
您必須添加服務器端腳本一些標籤,你必須設置事件監聽器在客戶端關閉彈出關閉。
意味着你必須設置是這樣的:
parent.postMessage("CLOSE","*");
服務器上。
,並設置監聽器客戶端,如:
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
//聽消息從子窗口
eventer(messageEvent,function(e) {
var key = e.message ? "message" : "data";
var data = e[key];
},false);
我沒有時間進行檢查。希望這對你有所幫助。
或者我經歷以下網址:
https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage
http://nyamsprod.com/blog/2012/introduction-to-window-postmessage/
http://benalman.com/code/projects/jquery-postmessage/examples/iframe/
我給出的代碼是從網址:
Html5 - Cross Browser Iframe postmessage - child to parent?
您可以在偵聽器中添加dilogue close代碼。
感謝
一個簡單的解決方案可能是$(「#對話密BTN」)。觸發器(「點擊」),您指向對話框關閉按鈕。
$('.my-modal').hide()
將關閉該活動模態。
評估條件的代碼是在彈出窗口還是在父窗口中? –
@ThierryJ。它在彈出.. – commit
+1 >>您的更新,雖然是無稽之談的句子,導致我解決了我的錯誤:) –