javascriptjquerysharepointaccordionjslink

SharePoint web part automatic refresh javascript event?


Background: I'm modifying a SharePoint list web part using JSLink. I'm also adding jQuery and jQuery-UI to make the list items display as the jQuery Accordion. It works well, except that I also need to implement the ajax automatic refresh on the web part to refresh the content every 60 seconds.

Problem: When the web part refreshes, the jquery code reverts - the items no longer show in accordion mode. I can open the browser console and type the jquery code manually, e.g., $(".selector").accordion(); and it works fine. This makes me think that I need to find a way to call the jquery code after each web part automatic refresh completes.

Question: So, is there a javascript event or way to find out when an automatic refresh triggers on my webpart so that I can call again my jquery accordion after? Is there something else I could be missing?

Thanks for your time!


Solution

  • The answer was to use this code:

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(MyFunction); 
    
    function MyFunction() { 
        //do something here; 
    }
    

    Credit to @Thriggle

    References: https://msdn.microsoft.com/en-us/library/bb311028.aspx https://www.daniweb.com/programming/web-development/threads/247263/ajax-postback-after-endrequest