目录:
许多HTML5和CSS3页面都需要一个初始化函数。正文加载机制经常在DOM / JavaScript中使用,以便在文档开始加载后立即加载页面。这是一个早期运行的功能来设置页面的其余部分。虽然body onload很好地完成了这项工作,但传统技术存在一些问题:
-
它需要对HTML进行更改。 JavaScript代码应该完全与HTML分离。你不应该改变你的HTML,使其与JavaScript的工作。 <! - 1 - >
时机还不太正确。 -
在正文onload中指定的代码不会执行,直到显示整个页面。如果代码在 DOM加载之后注册了 ,而在 页面显示之前注册了 会更好。 如何使用$(document)。准备()
jQuery有一个很好的替代身体onload克服这些缺点。看看代码,看看它是如何工作的:
使用文档。准备好的机制这个改变了吗?
此代码使用jQuery技术运行初始化代码:
body标签不再具有
-
onload 属性。 这是jQuery编程的一个常见功能。 HTML不再有直接链接到JavaScript,因为jQuery让JavaScript代码自己附加到网页上。
-
$(document)创建的。就绪() 功能。 这个技术告诉浏览器在DOM完成加载(所以它可以访问表单的所有元素)之前,但是在页面显示之前执行一个函数(这样,表单的任何效果都可以瞬间显示给用户)。 $ document 从整个文档中生成一个jQuery对象。
-
通过在$()函数内指定文档,整个文档可以变成一个jQuery对象。请注意,在这种情况下不使用引号。 指定的功能自动运行。 在这个特殊情况下,你想运行changeMe()函数,所以你把它放在ready()方法的参数中。请注意,这是指作为变量的changeMe,所以它没有引号或圆括号。
-
你会看到其他几个地方(特别是在事件处理中),jQuery希望函数作为一个参数。这样的函数经常被称为 回调
函数,因为它在发生某种事件之后被调用。您还可以看到响应键盘事件,鼠标移动以及完成AJAX请求的回调函数。文件的替代方法。准备好 您有时会看到一些快捷方式,因为运行初始化代码非常普遍。您可以缩短 $(文档)。就绪(changeMe);
代码如下:
$(changeMe);
如果这个代码没有在函数内部定义,并且changeMe是页面上定义的函数,那么jQuery将自动直接运行这个函数,就像文档一样。现成的方法。
您也可以直接创建一个匿名函数:
$(document)。 ready(function(){$(“#output”)。html(“I changed”);});
这个(匿名函数)方法很麻烦,但是你经常看到使用这种技术的jQuery代码。你可以创建一个名为init()的函数,并用这样的一行来调用它:
$(init);
这项技术简单易懂,但在网上查看代码时可能会遇到其他变化。