2014-02-12 54 views
1

在PC瀏覽器中,彈出窗口大小改變其位置的問題。我搜索了它,發現JMF有一個bug將positionTo從origin /#codeSource改爲window。Jquery移動彈出窗口在調整頁面大小或滾動時正在重新打開錯誤位置

在移動瀏覽器中,我在滾動頁面時遇到同樣的問題。彈出窗口再次呈現錯誤的位置。

我需要設置某種方式正確的位置或避免多窗口重新打開窗口大小和頁面滾動。

有人能給我一個建議嗎?

+0

您正在使用哪種jQM版本? – Omar

+0

@Omar版本1.3.1 – Tetyana

+0

您想在窗口打開時將其重新放置到_window_中嗎? – Omar

回答

1

您需要聆聽popupbeforeposition事件並更改ui該事件忽略的對象。該對象包含三個屬性,其定義彈出窗口的位置,ui.x,ui.yui.positionTo

後者屬性的默認值是window,它覆蓋任何以前添加值以ui.xui.y。因此,無論何時發生popupafterposition火災,ui.positionTo應更改爲null而不是window

編輯:下面的代碼應被包裹在pageinit事件(2)

$(document).on("pageinit", function() { 
    $("#popup_ID").on("popupbeforeposition", function (e, ui) { 
     ui.x = value; /* (1) */ 
     ui.y = value; 
     ui.positionTo = null; /* this */ 
    }); 
}); 

Demo

(1)值=數

(2)pageinit是一個特殊的JQM事件這相當於.ready()和應使用而不是它。

+0

謝謝,我發現它可以在jsfiddle中工作,但我在popupbeforeposition上的函數只被調用一次。尋找一個原因... – Tetyana

+0

@Tyyana你能用你的代碼更新你的問題嗎? – Omar

+0

我修復了我的代碼,它現在可以工作。非常感謝!問題解決了:) – Tetyana

相關問題