可想实现一个自己的简单jQuery库?(四)
时间:2020-05-26
本文章向大家介绍可想实现一个自己的简单jQuery库?(四),主要包括可想实现一个自己的简单jQuery库?(四)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Lesson-3
修改f(selector) 里的判断,新增domReady
我们知道在jQuery中还有一种选择器写法
$(function() {
});
在dom加载完毕后马上就执行,这样的方法会比onload更快,所以domReady对于我们来说一定是必不可少的
我们在init方法中要新增以下判断
if(!selector) { return this; }
if (typeof selector == 'object') {
var selector = [selector];
for (var i = 0; i < selector.length; i++) {
this[i] = selector[i];
}
this.length = selector.length;
return this;
} else if (typeof selector == 'function') {
Kodo.ready(selector);
return;
}
首先selector可能为object的情况,比如传入的是原生dom对象,dom数组对象. 另外要记得转为数组`var selector = [selector];
因为有可能是一个元素比如是window,document等否则没法循环
然后selector如果是function那我们就认为他是domReady
PS:在这我判断的并没有非常的全面,仅仅具备了基础功能
Kodo.ready = function(fn) {
doc.addEventListener('DOMContentLoaded',function() {
fn && fn();
},false);
doc.removeEventListener('DOMContentLoaded',fn,true);
};
然后这个是ready的源码,由于我们只兼容高端浏览器所以仅仅需要这样写即可.
既然你都看到这了,还不给我一个star说得过去么你!! :(
github地址: https://github.com/MeCKodo/forchange/tree/master/lesson-3
可想造一个属于你自己的jQuery库?(三):http://segmentfault.com/a/1190000003997303
本文转载于:猿2048https://www.mk2048.com/blog/blog.php?id=h21ihic2bib
原文地址:https://www.cnblogs.com/homehtml/p/12967020.html
- ios 常用的正则表达式(手机号邮箱md5加密验证空字符串等)
- Spring Cloud构建微服务架构:Hystrix监控面板【Dalston版】
- 云原生应用的12要素
- Universal-Image-Loader源码分析,及常用的缓存策略
- ios textView跟随键盘的移动
- Android:屏保软件的开发
- CoordinatorLayout
- 从零开始的Spring Security Oauth2(二)
- 简化Swagger使用的自制Starter:spring-boot-starter-swagger,欢迎使用和吐槽
- demo3同通讯录展示的方式分组排序
- Android手势研究(textview及listview对比验证)
- demo2动态加载显示商品详情页
- demo1 动态显示view或弹框 动态隐藏view或弹框
- ios 继承UITableViewController,更改tableview样式
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux常用命令面试题(1)
- 机器学习必刷题-手撕推导篇(1)
- Python面试必刷题系列(3)
- Spark Love TensorFlow
- 用GPU加速Keras模型——Colab免费GPU使用攻略
- __init__和__new__的对比及单例模式
- 数据结构高频面试题-树
- Python面试必刷题系列(5)
- 外卖小哥
- 用 Python可视化神器 Plotly 动态演示全球疫情变化趋势
- 2个范例带你读懂TensorFlow2低阶API构建模型方法
- 2个范例带你读懂中阶API建模方法
- 2个范例带你读懂高阶API建模方法
- Keras与经典卷积——50行代码实现minst图片分类
- 算法理论+实战之PCA降维