【问题标题】:Run a javascript function on script load在脚本加载时运行 javascript 函数
【发布时间】:2010-03-17 15:17:39
【问题描述】:

我正在使用 jQuery。我将所有函数定义都包装在 application.js 中的 $(document).ready 事件中。我有一个函数,我想在我正在处理的页面的正文中调用它。

我想知道是否有一些替代 .ready 事件可以在脚本加载时起作用。理想情况下,我想做类似的事情: $('application.js').ready( call function );

在 jQuery 文档中,它只提到了 $(document).ready 调用,但我想知道这是否可以更改,或者是否有一些普通的 javascript 替代方案。

【问题讨论】:

  • 为什么 $(document).ready 不适合你?
  • 也许我做错了。在 application.js 中,该函数被定义在由 $(document).ready 包裹的头部中。我有一个 ajax 调用,该调用只发生在网站的一页,所以我想从页面正文中调用该函数。我也将函数调用包装在 $(document).ready 中。函数调用在函数之前被加载。我想要一种方法来测试页面加载后的脚本加载。

标签: javascript jquery pageload


【解决方案1】:

我想你正在寻找$.getScript。这个 jQuery 函数使用GET HTTP 请求从服务器加载一个 JavaScript 文件并执行它。您可以指定一个回调函数,在脚本本身执行后执行。

$.getScript('foo.js', function() {
 alert('foo.js was loaded, do something cool now');
});

【讨论】:

    【解决方案2】:

    我自己对此很好奇,但直觉告诉我,您需要等待文档完成加载,然后再运行任何 javascript。

    【讨论】:

    • 错了。您将等待文档加载,因为随后将加载所有 DOM 元素,并且您确定可以安全地操作它们。如果在定义元素并将其添加到树之后加载脚本(脚本之前有结束标记),那么您可以安全地操作此元素。
    猜你喜欢
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    相关资源
    最近更新 更多