javascript - 关于jquery中$(function(){})的使用。

查看:137
本文介绍了javascript - 关于jquery中$(function(){})的使用。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

各位大侠,我js的小白,我最近在设计一个简单的网站,在网站抄了一些jq的代码。
我发现有些代码段的开头是$(function(){。。。。。}),那我就按照这种格式写在$(function(){。。。})里面,如$(function(){$('#denglu_submit').click(function(){。。。。
但我还看见有的代码段中没有$(function(){}),而直接是$('#denglu_submit').click(function(){。。。等内容,我试验了一下,两种好像都可以运行。那我就不知道有什么区别了?

解决方案

  1. 如果你把两种方式都放到html页面结构下面的话,写不写$(function(){})都行,都是等到页面加载完后执行(别忘了html是从上到下解析加载的)。

  2. 但是如果你都放在页面结构上面的话区别就大了,$(function(){})为网页加载完后执行,没有$(function(){})直接写的话是按html页面从上到下的顺序执行,也就是是说如果js代码执行时间比较长(如获取大量数据),那下面的html内容得等到js执行完后才会加载显示。这显然不合理。应该是让html内容先显示完才对。

  3. 所以我们一般写代码还是加上$(function(){})为好,这样就算js代码出错了或执行时间比较久,页面主要内容也可以加载完成,不会影响用户浏览网页。而且保险最好把代码放到页面结构下面,这样也是为了保证页面加载完整(毕竟html是按从上到下的顺序解析加载的)。


其它小知识 $(function(){})为网页加载完后执行,好像和原生js的window.onload = function() {}一样,其实有区别,前者是加载完结构(不包括图片)后执行,后者是加载完结构(包含图片)后才执行。

这篇关于javascript - 关于jquery中$(function(){})的使用。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆