Jquery EasyUI Dialog close和destroy方法
阿新 • • 發佈:2018-12-31
在使用JQuery EasyUI做專案的時候,經常需要使用Dialog實現彈出框效果,但是在“檢視日常活動連結”的時候,有兩個模組呼叫的是同一個Dialog頁面,這個時候就出現頁面混亂情況,要麼就是Dialog內容無法開啟,其實這是Dialog的close和destroy用法的問題。
解決辦法:
使用close的方法來關閉dialog時,此dialog並不是完全消失,只是隱藏起來了而已。當另外一個dialog和這個dialog相同時,就會發生混亂。所以我們不適用close的方法來關閉dialog,使用destroy來銷燬dialog,當使用destroy時,如果頁面上顯式定義了dialog的話,關閉後就永遠都打不開了。所以我們不顯式定義dialog,並且把連結頁面和列表頁面分開。
示例如下:
$('<div></div>').dialog動態建立Dialog,否則Dialog被destroy後,無法再開啟。//檢視活動細節 function viewActisDetailRow(index,obj){ selectMagDeclActiCurRow(obj); var node = $('#magDeclActis').datagrid('getSelected'); var teanName=node.decTeamName; var userid=node.addUserId; //使用者編號 var year=node.year; //申報年份 $('<div></div>').dialog({ title: teanName, width: 850, height: 550, closed: false, cache: false, href:'actiRecords/goShowTeamActiDetailsPage!goActiDetailPage?user.userid='+userid+'&year='+year, modal: true, onClose:function(){ $(this).dialog('destroy'); } }); }