[英]SharePoint web part automatic refresh javascript event?
背景:我正在使用 JSLink 修改 SharePoint 列表 Web 部件。 我還添加了 jQuery 和 jQuery-UI 以使列表項顯示為 jQuery Accordion。 效果很好,除了我還需要在web part上實現ajax自動刷新,每60秒刷新一次內容。
問題:當 Web 部件刷新時,jquery 代碼恢復 - 項目不再以手風琴模式顯示。 我可以打開瀏覽器控制台並手動輸入 jquery 代碼,例如$(".selector").accordion();
它工作正常。 這讓我覺得我需要找到一種方法來在每個 web part 自動刷新完成后調用 jquery 代碼。
問題:那么,是否有一個 javascript 事件或方法可以找出何時在我的 webpart 上觸發自動刷新,以便我可以在之后再次調用我的 jquery 手風琴? 還有什么我可能會錯過的嗎?
謝謝你的時間!
答案是使用此代碼:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(MyFunction);
function MyFunction() {
//do something here;
}
歸功於@Thriggle
參考資料: https : //msdn.microsoft.com/en-us/library/bb311028.aspx https://www.daniweb.com/programming/web-development/threads/247263/ajax-postback-after-endrequest
我相信您可以通過覆蓋Sys.WebForms.PageRequestManager
對象的當前實例的_onFormSubmit
方法將自己的代碼或函數調用插入到回調鏈中。
Sys.WebForms.PageRequestManager.getInstance()._onFormSubmit = function(i){
Sys.WebForms.PageRequestManager.prototype._onFormSubmit.call(this,i);
alert("Refreshing the data..."); // -- your code or function call here
};
當我在具有 25 秒刷新的列表視圖的頁面上的 F12 控制台中運行上述代碼時,我開始看到“刷新數據...”每隔 25 秒彈出一次,但我沒有用比這更復雜的東西來測試它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.