Ins*_*dJW 183 javascript jquery
有时我会创建一个函数并稍后调用该函数.
例:
function example { alert('example'); }
example(); // <-- Then call it later
Run Code Online (Sandbox Code Playgroud)
不知何故,某些功能无法调用.我必须在里面调用这些函数:
$(function() { });
Run Code Online (Sandbox Code Playgroud)
做什么$(function() {});
和(function() { });
意味着,什么是这些区别/目的是什么?
Rus*_*rke 273
$(function() { ... });
Run Code Online (Sandbox Code Playgroud)
只是jQuery的简称
$(document).ready(function() { ... });
Run Code Online (Sandbox Code Playgroud)
它的设计目的是确保在页面的所有DOM元素都可以使用后调用您的函数.
但是,我不认为这是你遇到的问题 - 你能澄清你的意思'不知何故,某些功能是无法调用的,我必须在内部调用这些功能'?也许发布一些代码来显示什么不能按预期工作?
编辑:重新阅读您的问题,可能是您的功能在页面加载完成之前正在运行,因此无法正常执行; 把它放在$(函数)中确实会解决这个问题!
cwh*_*ris 14
以下是jQuery函数调用:
$(...);
Run Code Online (Sandbox Code Playgroud)
哪个是"jQuery函数".$
是一个函数,$(...)
你在调用该函数.
您提供的第一个参数如下:
function() {}
Run Code Online (Sandbox Code Playgroud)
该参数是您指定的$
函数,该函数将在DOM完成加载时调用提供的方法.
这只是简写$(document).ready()
,如:$(document).ready(function() {
YOUR_CODE_HERE
});
.有时您必须使用它,因为您的函数在DOM完成加载之前运行.
这里解释了所有内容:http://docs.jquery.com/Tutorials : Introducing_$(document).ready()
我认为您可能将 Javascript 与 jQuery 方法混淆了。Vanilla 或普通 Javascript 类似于:
function example() {
}
Run Code Online (Sandbox Code Playgroud)
可以随时随地调用这种性质的函数。
jQuery(一个基于 Javascript 的库)内置了通常要求 DOM 在被调用之前完全呈现的函数。完成时的语法是:
$(document).ready(function() {
});
Run Code Online (Sandbox Code Playgroud)
因此,通常从该方法中调用以$
或 字为前缀的 jQuery 函数jQuery
。
$(document).ready(function() {
// Assign all list items on the page to be the color red.
// This does not work until AFTER the entire DOM is "ready", hence the $(document).ready()
$('li').css('color', 'red');
});
Run Code Online (Sandbox Code Playgroud)
该块的伪代码是:
当文档对象模型$(document)
准备好后.ready()
,调用以下函数function() { }
。在该函数中,检查<li>
页面上的所有's$('li')
并使用 jQuery 方法 .CSS() 将 CSS 属性“color”设置为值“red”.css('color', 'red');
一些理论
$
是函数的名称,就像您为函数指定的任何其他名称一样。任何人都可以在 JavaScript 中创建一个函数并将其命名$
如下:
$ = function() {
alert('I am in the $ function');
}
Run Code Online (Sandbox Code Playgroud)
JQuery 是一个非常著名的 JavaScript 库,他们决定将整个框架放在一个名为jQuery
. 为了让人们更容易地使用该框架并减少jQuery
每次想要调用该函数时都输入整个单词,他们还为它创建了一个别名。该别名是$
. 因此$
是函数的名称。在 jQuery 源代码中,您可以自己查看:
window.jQuery = window.$ = jQuery;
Run Code Online (Sandbox Code Playgroud)
回答你的问题
那么什么是 $(function() { });?
既然您知道这$
是函数的名称,那么如果您使用的是 jQuery 库,那么您就是在调用命名的函数并将$
参数传递给function() {}
它。jQuery 库会在适当的时候调用该函数。什么时候合适?根据 jQuery 文档,适当的时间是页面的所有 DOM 元素都准备好使用时。
实现此目的的另一种方法是这样的:
$(document).ready(function() { });
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,这更冗长,所以人们更喜欢 $(function() { })
所以有些函数不能被调用的原因,正如你所注意到的,是因为这些函数还不存在。换句话说,DOM 还没有加载。但是如果你把它们放在你$
作为参数传递的函数中,DOM 就会被加载。因此,该功能已创建并可以使用。
另一种解释$(function() { })
是这样的:
嘿,$ 或 jQuery,一旦 DOM 加载完毕,您能调用我作为参数传递的这个函数吗?
归档时间: |
|
查看次数: |
138987 次 |
最近记录: |