在页面加载方法之后调用 Document.ready 方法 - Jquery 3.3.2
Posted
技术标签:
【中文标题】在页面加载方法之后调用 Document.ready 方法 - Jquery 3.3.2【英文标题】:Document.ready method is called after pageload method - Jquery 3.3.2 【发布时间】:2018-11-15 17:42:33 【问题描述】:我正面临一个奇怪的问题。我正在将我的项目升级到最新的 jQuery 版本 3.3.2。我创建了一个示例页面,其中仅包含更新面板和一个 javascript 链接。
现在的问题是,当我刷新页面(运行应用程序)时,不是调用 document.ready 方法,而是先调用 pageLoad 方法,然后再调用 document.ready 方法。
我曾尝试使用旧版本的 jQuery 2.2.4,并且在更新面板上运行良好,但是当我升级到最新版本 3.x.x 时,它会产生问题。
下面是示例代码
default.aspx 页面
<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】:ready 事件在 html 文档加载后发生,而 onload 事件在稍后发生,此时所有内容(例如图像)也已加载。 p>
onload 事件是 DOM 中的标准事件,而 ready 事件是 jQuery 特有的。 ready 事件的目的是在文档加载后尽早发生。
您在哪里调用了 pageload() 方法? 可以分享一下 HTML 吗?
【讨论】:
@DENENDRA DHINDA,感谢您的时间和分享。 HTML 在我之前的评论中已经存在。 scriptresource.ax 文件正在调用 javascript 的 pageload 方法,因为我在页面上使用了更新面板。我没有在我的 HTML 的任何地方明确提到该方法以上是关于在页面加载方法之后调用 Document.ready 方法 - Jquery 3.3.2的主要内容,如果未能解决你的问题,请参考以下文章
在页面加载方法之后调用 Document.ready 方法 - Jquery 3.3.2