Jquery pageLoad()在多个js文件中不起作用
本文关键字:js 文件 不起作用 pageLoad Jquery | 更新日期: 2023-09-27 18:23:51
我有一个带有ajax和jquery的asp.net网站。我需要在两个jquery脚本文件中使用jquery pageLoad函数,但问题是它只在一个首先附加在母版页中的文件中工作。
我有一个简单的可视化stuido测试网站项目,如果你能下载并看到它,我会很高兴。
我把它上传到了mediaFirehttp://www.mediafire.com/?4b71u9jvo0mxru3它只有5公斤,请帮我找个人
每页只能有一个pageLoad。我下载了你的代码,我更改了这个:
在MasterPage.master:
<asp:ScriptManager ID="MainScriptManager" runat="server" EnablePartialRendering="true">
<Scripts>
<asp:ScriptReference Path="~/jscript/btnFirst.js" />
<asp:ScriptReference Path="~/jscript/second.js" />
</Scripts>
</asp:ScriptManager>
并删除头中的这个:
<script type="text/javascript" src="jscript/second.js"></script>
<script src="jscript/btnFirst.js" type="text/javascript"></script>
在btnFirst.js(例如)中,将pageLoad更改为:
// Attach a handler to the load event.
Sys.Application.add_load(applicationLoadHandler);
function applicationLoadHandler() {
$('#btnFirst').each(function () {
$('#btnFirst').css('text-decoration', 'none');
$('#btnFirst').css('opacity', '1');
var elem = $(this);
setInterval(function () {
if (elem.css('opacity') == '1') {
elem.css('opacity', '0.1');
} else {
elem.css('opacity', '1.0');
}
}, 500);
});
};
你完了;-)
不应该使用pageLoad(),而应该使用$(document).ready。这是通过向添加到队列中的.ready()函数传递匿名函数来实现的。加载DOM后,所有匿名函数都将运行。
$(document).ready(function(){
// your function code here
});
我的同事(感谢James)提出的另一种方法是使用自定义事件(请注意,这仍在测试中)。
步骤1:在主页中,包括以下内容作为最后一个脚本(在其他脚本之后):
<script type="text/javascript">
function pageLoad(sender, args) {
$(document).trigger('PartialPageLoad');
}
</script>
第2步:在脚本文件中,当你想在pageLoad上执行一些东西时,按如下方式附加到事件:
$(document).on('PartialPageLoad', function () {
doSomething();
doSomethingelse();
});