完全呈现页面后加载JavaScript

时间:2011-04-12 20:01:41

标签: jquery drupal-7

我已经在我的Drupal 7主题中添加了JavaScript代码,但它无法按预期运行,因为当我的函数被触发时,css没有正确应用。
所以我尝试了一个最小的实现来检查发生了什么。

    jQuery(document).ready(function($) {

         alert("Start");  

    }
在页面完全加载之前触发了

alert()(即缺少所有标题)。 我该如何防止这种情况?

2 个答案:

答案 0 :(得分:10)

为了在所有内容完全加载后执行脚本,您需要:

$(window).load(function(){
  alert('hello');
});

jQuery.ready()在DOM准备就绪后立即执行,这通常是在外部资源加载之前。

答案 1 :(得分:3)

了解Drupal 7 JavaScript API here。你想关注行为部分。行为与您在示例中尝试做的事情相同,但是,当Drupal页面加载时,它所做的第一件事就是实例化Drupal对象。每个具有行为属性的模块都会扩展此对象。当您在文档就绪时使用Drupal行为而不是标准JQuery时,您可以在JavaScript函数中访问由其他模块定义的所有属性和方法。

这些教程(12)适用于Drupal 6,但它们可以为您提供有关Drupal行为的良好解释和概念。