在pageload方法之后调用Document.ready方法 - Jquery 3.3.2

时间:2018-06-06 06:31:08

标签: javascript jquery asp.net ajax updatepanel

我面临一个奇怪的问题。我正在将我的项目升级到最新的jQuery版本3.3.2。我创建了一个示例页面,其中只包含更新面板和javascript链接。

现在问题不是调用document.ready方法,当我刷新页面(运行应用程序)时,首先调用pageLoad方法,然后调用document.ready方法。

我已经尝试过使用旧版本的jQuery 2.2.4以及它在更新面板上运行良好,但是当我升级到最新版本3.x.x时,它会产生一个问题。

以下是示例代码

default.aspx page

<head runat="server">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.0.0.js"></script>
<%--<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.js"></script>--%>
<script src="Scripts/JavaScript.js"></script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> Page body
</div>
<asp:ScriptManager runat="server" ID="sm" ScriptMode="Debug" EnableCdn="false"
EnablePartialRendering="true" LoadScriptsBeforeUI="true">
<CompositeScript>
<Scripts>
<asp:ScriptReference Name="MicrosoftAjax.js" />
<asp:ScriptReference Name="MicrosoftAjaxWebForms.js" />
</Scripts>
</CompositeScript>
</asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="upSnapshot" UpdateMode="Conditional">
<ContentTemplate>
Update panel body
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>

使用Javascript:

$j = jQuery.noConflict();
$j(document).ready(function () {
alert('document.ready');
});
function pageLoad(sender, args) {
alert('Pageload');
}

1 个答案:

答案 0 :(得分:1)

就绪事件在加载HTML文档后发生,而 onload 事件发生在稍后,此时所有内容(例如图像)也已加载。

onload事件是DOM中的标准事件,而ready事件特定于jQuery。 ready事件的目的是在文档加载后尽可能早地发生。

您调用 pageload()方法的位置? 你能分享HTML吗?