In this article I will explain how to detect ASP.Net ScriptManager and UpdatePanel AsyncPostBack in JavaScript.
To illustrate you with an example I have added an ASP.Net ScriptManager, an UpdatePanel and a Button that will cause the Asynchronous PostBack
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="up1" runat="server">
              <ContentTemplate>
                    <asp:Button ID="Button1" runat="server" Text="Button" />
              </ContentTemplate>
              <Triggers>
                  <asp:AsyncPostBackTrigger ControlID = "Button1" EventName = "Click" />
              </Triggers>
        </asp:UpdatePanel>
    </form>
    <script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    if (prm != null) {
        prm.add_beginRequest(function (sender, e) {
            //Event raised when the Async Postback is started.
 
            //Detect whether the request is Async
            var isAsync = sender._postBackSettings.async;
       
            //Detect Id of the control that caused the postback.
            var controlId = sender._postBackSettings.sourceElement.id;
 
            //Id of the updatepanel that caused the postback
            var updatePanelId = sender._postBackSettings.panelID.split('|')[0];
        });
    }
    prm.add_endRequest(function (sender, e) {
        if (sender._postBackSettings.panelsToUpdate != null) {
            //Event Raised when the Async Postback is completed.
        }
    });
    </script>
</body>
</html>
 
As you can see above I have a also added a JavaScript event handler to handle the Start and End of the ASP.Net Asynchronous PostBack