2011-12-18 23 views
1

我很抱歉發佈了「半重複」,但我已經停止在另一個問題中得到答案,因爲它似乎回答了。jQuery窗口/彈出功能執行得太早

有關的疑問:jQuery target different window/popup

所以,我有這個功能,當發射時創建一個新的窗口/彈出。問題在於jQuery應該在新的彈出窗口關閉時進行監聽並執行警報,但是一旦彈出窗口被創建,警報就會被觸發。

代碼:

function idealPopUp(url){ 
    var windowName = "idealPopUpWindow"; 
    var windowSize = 'height=820,width=704,toolbar=no,scrollbars=yes'; 

    var idealPopUpWindow = window.open(url, windowName, windowSize); 

    $(idealPopUpWindow).unload(function() { 
     alert("BING"); 
    }); 
    event.preventDefault(); 
} 

回答

3

綁定頁面後事件已加載:

function idealPopUp(url){ 
    var windowName = "idealPopUpWindow"; 
    var windowSize = 'height=820,width=704,toolbar=no,scrollbars=yes'; 

    // Wrap new window object in a jQuery object 
    var $idealPopUpWindow = $(window.open(url, windowName, windowSize)); 

    $idealPopUpWindow.load(function() {  // Execute this function on load 
     $idealPopUpWindow.unload(function(){ // Bind the actual event 
      alert("BING"); 
     }); 
    }); 
} 
+0

彈出正在打開,但沒有關閉時發生。 – pioSko 2011-12-18 14:30:34

+1

我已經使用jQuery 1.6.3 + FF 8.0.1成功測試過這段代碼,並且未能使用jQuery 1.5.2獲得代碼。你正在加載哪個jQuery版本,瀏覽器供應商和URL? – 2011-12-18 14:32:32

+0

src =「/ js/jquery-1.6.2.js」...謝謝,反正。我會告訴開發團隊這件事。也許如果他們升級到1.6.3,它會工作。 – pioSko 2011-12-18 14:37:13