什么时候使用$(function(){})来注册jQuery的点击处理程序



$(function()
{
    $(".some").click(function()
    {
        ...
    });
});

$(".some").click(function()
{
    ...
});

从这里我知道$(function()$(document).ready(function()的简写。但是我们为什么要等文件准备好呢?无论如何,当some被点击时,函数不会被调用吗?

不同之处在于#1在运行JavaScript之前等待DOM完全加载。第二个代码在接收到JavaScript时运行它,这意味着它在完成加载之前查找.class元素。

在为元素添加事件侦听器之前,您需要准备好文档,即文档的所有元素都可用。

原因是:考虑一个按钮,您需要一个事件侦听器(例如侦听click事件)。

当脚本运行但按钮尚未出现时,尝试附加侦听器将失败。因此,一旦实际单击按钮,就不能调用相关的函数。

这样回答你的问题了吗?

使用$(function())仅仅是因为需要完全加载DOM。

例如,你有一个按钮,你想在点击时添加一些动作。单击按钮,但没有发生任何事情,因为在加载DOM之前已经处理了按钮。

如果不检查DOM是否已完全加载,可能会发生一些意外行为。

请不要混淆onload()ready(),因为on load在页面加载后执行,而ready()仅在DOCUMENT完全准备好时执行。

$(function(){…})在加载DOM时触发该函数,类似于window。jquery库的一部分。

也可以使用$(namefunction);

它的存在是为了确保事件有一个可以监听的元素

最新更新