好吧,我真的想在這裏添加一些東西來幫助其他人。在嘗試所有解決方法後,我學到了一些非常重要的東西。如果將一個完整的DOM加載到對話窗口中,則會創建另一個實例,並且您將花費大量時間。在我的情況下,我在MVC中加載了一個局部視圖,並確定它顯示了一個完整的DOM。我見過很多關於嘗試銷燬,刪除甚至手動刪除帶有循環的重複文章的文章。這些不是真正的答案,而是另一個問題的創可貼。另外,當在對話框中加載數據時,可能會在執行ajax調用時注意,您不是在該過程中重複加載腳本。如果你需要調用$('。selector')。dialog()。dialog(),那麼第一個實例就有衝突。
我的解決方案在沒有其他人的情況下工作。 1)我修改了我的部分視圖,將a放在只包含我需要的內部html。 2)獲取數據返回整個DOM,所以我使用find()來限制對話框中返回的內容。 3)當關閉對話框時,使用對話框('close')方法,即使根據文檔也是如此。
如果您有刷新問題,請小心構建對話框,我選擇避開doc ready構造,因爲它有時會導致衝突。使用時可以構造對話框。
請注意什麼數據真的會被返回奇怪的行爲會導致。
現在它的功能如下,我真的希望這將節省一些小時無盡的一切爲人:)它爲我工作。
var editOptDialog = YourOptions
Open:
$("#dialog-edit").dialog(editOptDialog);
$("#dialog-edit").dialog('open');
$.get($(element).attr('url'), function (data) {
$("#dialog-edit").dialog().html($(data).find('#content-modal'));
});
Close:
$("#dialog-edit").dialog().dialog("instance").close();
感謝您的信息。我會嘗試。 –
不客氣。再次,您可能需要調整選擇器以適合您的代碼。但校長仍然是一樣的。 –