位置: 编程技术 - 正文

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自定义表单)

  • 房地产企业拆迁补偿费契税12366
  • 进出口企业外汇收支平衡
  • 个体工商户每月需要申报个税吗
  • 资产负债表其他应付款计算公式
  • 一般纳税人销售自己使用过的汽车
  • 印花税减半征收优惠政策2022
  • 增值税降到16个点什么时候实行
  • 材料成本差异结转借贷方向
  • 客户未付关税是否可以申请晚交
  • 公司内部食堂招待费账务处理
  • 别人提供原材料加工后加工费
  • 支付外聘老师的培训费
  • 挂靠人员帮外单位人员缴纳社保如何做账
  • 个人独资企业是什么类型
  • 企业申请核定征收的要求
  • 个体工商户税收标准2023年
  • 建筑行业劳务费开发票可以开工程款吗?
  • 税务稽查补缴的税款需要申报吗
  • 集体房产证如何分割
  • 劳务派遣实缴资本
  • 销售收入里面包括免税收入呢
  • 预提职工存量怎么做会计凭证
  • 施工现场应建立什么
  • 房屋租赁费属于什么服务
  • 现金支票丢了
  • 转让费入什么会计分录
  • 客户退回货物会计分录
  • 发票已抵扣未入账
  • 挑主板要注意什么
  • 电脑内存条是干什么的?
  • 印花税的计税
  • 房租押金未全额缴纳
  • Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
  • 代扣代缴手续费比例
  • 购入材料会计分录怎么写
  • 出口企业增值税怎么算
  • laravel多条件查询
  • 没报关的货物还需要开发票嘛
  • layuiadmin动态菜单
  • thinkphp try catch
  • 自建办公楼装修要报建吗
  • php函数名
  • vue项目如何启动运行
  • 物流公司过户给我需要做什么
  • java使用循环结构输出九九乘法表
  • 工会经费计算公式的例子
  • 增值税纳税申报操作流程
  • 企业会计准则规定了
  • 建筑企业开票都要交税吗
  • 土地出让合同的法律效力
  • 烟叶税的计税依据如何确定
  • 超市小规模税负怎么算
  • 多个客户账款明细
  • mysql8 存储引擎
  • win7系统重启后多了一个安全启动用户
  • centos安装软件教程
  • win8无法连接到internet
  • 电脑重装win7系统黑屏
  • win7旗舰版系统重装
  • linux常见压缩工具
  • win8.1拨号上网
  • win7 netplwiz
  • win7系统怎么禁止更新
  • opengl learn
  • 脚本合集
  • linux进程运行的两种方式
  • 批处理设置ip地址配置的dns
  • Http TCP 协议
  • JavaScript中的对象一般分为
  • python strip函数作用
  • node.js web开发
  • javascript的dom
  • python批量创建文件
  • 用js设置颜色
  • unity3d游戏开发教程
  • python怎么用命令行
  • 税率是从什么时候有17%改为13%的呢
  • 保障性住房是否可以买卖
  • 怎么查了?
  • 山西省地方税务局通用定额发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设