位置: 编程技术 - 正文

jQuery的Read()方法代替原生JS详解(jquery onready)

编辑:rootadmin

推荐整理分享jQuery的Read()方法代替原生JS详解(jquery onready),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jquery的ready方法,jquery的ready方法,jquery(document).ready,jquery中的ready函数,jquery onready,jquery中的ready函数,jquery中的ready函数,jquery的ready方法,内容如对您有帮助,希望把文章链接给更多的朋友!

在jQuery 3.0的版本前, ready经典用法是用一个匿名函数,像这样:

jQuery 3.0 ready() 变化

在jQuery 3.0发布之前,有以下几种方法称之为ready方法:

在document元素上操作: $(document).ready(handler);

在空元素上操作: $().ready(handler);

或者直接(即不在一个具体的元素上)操作: $(handler);

上述所有命名的变种在功能上是等价的。无论是哪个元素,在DOM加载完毕之后其指定的处理程序都将会被调用。换句话说,这里的DOM加载完毕并不表示在文档中的某个具体的元素,比如img元素,加载完毕。相反,这里表示的是整个DOM树加载完毕。

在jQuery 3.0中,除了$(handler) 其他的ready方法都被弃用。

官方声明为此:

这是因为选择器并没有和ready()建立联系,不仅低效而且会导致浏览器引擎对该方法的行为进行不正确的假设。

ready 事件和 load 事件的区别

当DOM加载完毕且元素能够被安全访问时就会触发ready事件。另一方面,load事件却在DOM和所有资源加载后触发。

jQuery的Read()方法代替原生JS详解(jquery onready)

可以像下面这样使用load事件:

这样的话,不仅仅要等到DOM结构能完全访问,而且还需要等到所有的图片资源完全加载完毕(加载时间取决于图片文件大小)才能执行函数。

正常的DOM操作你可能不需要load事件,但是如果你想要在所有的资源被加载完毕之前展示一个旋转的加载器样式,比如,又或者你想要用JS计算一下图片的大小,这可能是一个好的选择。

你可能不需要jQuery.ready()

ready 方法可以确保代码只在所有DOM元素能被安全操纵时才执行。 但这意味着什么呢?这意味着当你要执行的js代码嵌在HTML中某个片段中时,浏览器也要加载完以下元素才能执行。

就像下面这个例子一样:

如果你要执行的javascript代码放在body末尾,你就可能不需要使用ready()方法,因为浏览器解析到javascript时你可能试图操纵和访问的DOM元素已经被加载完了:

原生JavaScript ready()替代

对于现代浏览器以及IE9+,你可以通过监听 DOMContentLoaded 事件实现ready()相同的功能:

但是,请注意,如果事件已经发射,回调将不会被执行。为了确保回调总是运行,jQuery检查文档reference)的“readyState”属性,如果属性值变为 complete,则立即执行回调函数:

包括domReady库,已经实现了这个解决方案。

老版本的IE浏览器

对于IE8及以下的浏览器,你能使用onreadystatechange 事件去监听文档的readyState 属性:

或者你可以使用Load事件,如jQuery,这样可以在任何浏览器上运行。这也会导致一个时间延迟,因为它会等待所有的资产被加载。

注意,在这个解决方案中你也要检查readyState,如上文所述,这样能确保回调总是能够被执行。

总结

标签: jquery onready

本文链接地址:https://www.jiuchutong.com/biancheng/379316.html 转载请保留说明!

上一篇:Jquery通过ajax请求NodeJS返回json数据实例

下一篇:jQuery自定义组件(导入组件)(jquery自定义表单)

  • 加工企业税收优惠政策
  • 出口退税是什么部门负责
  • 什么是财务报表审计
  • 出售其他债权投资
  • 财务报表和信息的区别
  • 进口发票可以抵扣吗
  • 保险公司收车船使用税吗
  • 报销单与发票金额不符
  • 怎么在网站上打印
  • 通信协会费入什么科目
  • 收购农产品进项税抵扣税率是多少
  • 如何判断开专票还是普票
  • 个人所得税附加扣除中住房贷款利息扣除
  • 简易计税项目税金要计入成本吗
  • 跨年主营业务成本直接冲回可以吗
  • 境外企业向境内提供国际运输服务核定征收的企业所得税
  • 公司缴纳电费
  • 营改增后建筑业分包怎么交税
  • 会计利润和税务利润的暂时性差异和永久性差异
  • 酒店住宿收入确认原则的条件
  • 环保税计入项目成本吗
  • 缴纳海关进口增值税
  • 存出资本保证金属于什么科目
  • 新公司第一年
  • 属于项目的一个实例
  • 合同印花税交给谁
  • 计提的社保费如何做账
  • php上传文件参考文件类型
  • 结转代销产品成本会计分录
  • phppost提交json
  • ds file是干什么的
  • 微信用不升级
  • php://input用法
  • 遇到的问题及解决方法
  • yii2中dropDownList实现二级和三级联动写法
  • php邮箱smtp发信源码
  • 电子税务局没有开票业务
  • 劳动仲裁支付的个人款项怎么做账
  • 什么是会计确认的基础
  • 长期股权投资内部交易抵消
  • 融资购买固定资产账务处理
  • 坏账准备的账务处理例题视频讲解
  • 增值税申报表填写顺序
  • 物业公司购买空调合法吗
  • 上年亏损次年赢亏怎么算
  • 同城票据交换原理
  • 三证合一哪三个证
  • 行政性罚款有哪些
  • 在计划管理中根据事实思考这一步的内容是
  • 股票交易费用计算器小程序
  • 什么是结构性存款基金
  • 商贸企业固定资产可以一次性扣除吗?
  • 办理分公司的流程样本
  • 重要性水平如何判断
  • 会计年终决算怎么填写
  • 产品成本核算的原则是
  • linux怎样浏览文件中的内容
  • 使用u盘安装win10
  • u盘装win8系统教程图解
  • windows8的word在哪里
  • centos7安装视频教程
  • win7开机无信号之后黑屏
  • win10右键菜单快捷键
  • android开发一般用什么软件
  • vim多行匹配
  • android模块开发
  • unity用visual
  • 背景透明度设置
  • jquery使用css
  • js中的div标签怎么用
  • javascript Math.random()随机数函数
  • 数字图像处理软件idl和matlab有什么异同点
  • javascript获取css
  • 江苏省税务厅电话
  • 济阳二七大集
  • 3000劳务报酬如何缴税
  • 提租补贴什么标准发放
  • 总公司和子公司是什么关系
  • 省级税务机关是什么
  • 西安代驾平台有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设