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公斤,请帮我找个人

Jquery pageLoad()在多个js文件中不起作用

每页只能有一个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();
});