页面回发上的Javascript事件

Bru*_*uno 16 javascript c# asp.net

是否有任何在回发时触发的javascript事件?

如果没有,我如何在页面回发之后或之前立即运行客户端代码?

Mic*_*res 5

看一下: 回发后运行 javascript 函数

我用这个解决了我的问题:

<script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(function (s, e) {
        alert('Postback!');
    });
</script>
Run Code Online (Sandbox Code Playgroud)

还有很多选择,比如

$('#id').live('change', function (){});

$(document).ready(function () {});
ClientScriptManager.RegisterStartupScript(this.GetType(), "AKey", "MyFunction();", true);
Run Code Online (Sandbox Code Playgroud)

并继续前进。取决于你需要什么。

PageRequestManager 事件:https://learn.microsoft.com/en-us/previous-versions/aspnet/bb398976(v=vs.100)


jer*_*ome 5

我相信你要找的是Sys.WebForms.PageRequestManager beginRequest事件

摘抄:

在开始处理异步回发之前引发beginRequest事件,并将回发发送到服务器.您可以使用此事件来调用自定义脚本来设置请求标头或启动动画,以通知用户正在处理回发.

代码示例:(来自链接)

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function BeginRequestHandler(sender, args)
    {
        var elem = args.get_postBackElement();
        ActivateAlertDiv('visible', 'AlertDiv', elem.value + ' processing...');
    }
    function EndRequestHandler(sender, args)
    {
        ActivateAlertDiv('hidden', 'AlertDiv', '');
    }
    function ActivateAlertDiv(visstring, elem, msg)
    {
        var adiv = $get(elem);
        adiv.style.visibility = visstring;
        adiv.innerHTML = msg;                     
    }
</script>
Run Code Online (Sandbox Code Playgroud)

我希望有所帮助.该PageRequestManager类似乎知之甚少和小利用.


Viv*_*ath 1

使用 AJAX 以及onComplete.