![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jQuery
我就是陈星烨
前端开发
展开
-
JQuery绑定事件的方法
比如ul里面有6个li bind: this.on( types, null, data, fn ); $('li').bind('click',fn),直接绑定到li元素上,效率较低,因为要循环6次进行绑定,通过在fn中查看this得知,不会动态绑定到新加的元素上,如若元素较多则效率不高。 live:live(type, [data], fn) $('li').live('click',fn),原创 2017-06-19 10:33:10 · 431 阅读 · 0 评论 -
Jquery事件绑定方法
比如ul里面有6个libind: this.on( types, null, data, fn ); $('li').bind('click',fn) 直接绑定到li元素上,效率较低,因为要循环6次进行绑定 通过在fn中查看this得知,不会动态绑定到新加的元素上,如若元素较多则效率不高。 live:live(type, [data], fn) $('li').li原创 2017-07-07 15:33:51 · 283 阅读 · 0 评论 -
jQuery源码分析----数据缓存系统
为DOM节点添加太多的自定义属性的危害: 循环引用时的内存泄漏 直接暴露数据不安全 多自定义属性对浏览器来说无意义 取数据的时候要对HTML节点进行操作 jQuery缓存系统解决了这个问题。(从事件系统分化出来的)静态方法: $.data(ele) 实例方法:$(ele).data()$(ele).data()是对$.data(ele)的扩展, $.data(el原创 2017-07-07 14:53:47 · 197 阅读 · 0 评论 -
jQuery源码分析-----CallBacks--memory
memory的精华是用本次add的方法call上次add的cb参数function CallBacks(options) { var list = []; var self; var memory; var firingStart; var firingIndex;function _fire(data) { memory = options ===原创 2017-07-07 11:33:23 · 230 阅读 · 0 评论 -
jQuery源码分析-----迭代器each
迭代器each是否有参数args 是 数组处理 对象处理 否 数组处理 对象处理 function each(obj, callback, args) { var value, i = 0, length = obj.length, isArray = obj instanceof Array; if (args) { if (isArray) {原创 2017-07-07 11:10:53 · 306 阅读 · 0 评论 -
jQuery源码分析-----pushStack
pushStack是jQuery底层方法pushStack方法虽然在高层不会用到,但很多方法都会调用它举例: html结构为ul下5个livar li = $('li'); var s = li.slice(2); var end = s.end();pushStack: // Take an array of elements and push it onto the stack // (ret原创 2017-07-07 11:05:37 · 343 阅读 · 0 评论 -
jQuery源码分析-----仿栈与队列操作之get | eq
get与eq都是获取指定索引的元素 get返回的是DOM对象,直接将querySelectorAll返回的第i个元素赋值给this[i],get[i]取this[i]即可 eq返回的是jQuery对象,即在用pushStack将this[i]处理。 var $$ = ajQuery = function (selector) { return new ajQuery.fn.init(selec原创 2017-07-07 10:57:38 · 280 阅读 · 0 评论 -
Query源码分析-----$.extend
jQuery的插件接口目的是为jQuery扩展方法,将扩展的功能从jQuery的主题框架中剥离开来。 jQuery的插件开发包括两类:1. 挂在jQuery下的静态方法 2. 挂在jQuery原型上的实例方法用extend实现,具体如下:$.extend=$.fn.extend=function(){ var options, src, copy, target = argumen原创 2017-07-07 10:49:50 · 318 阅读 · 0 评论 -
jQuery源码分析-----jQuery.fn.init.prototype=jQuery.fn=jQuery.prototype
jQuery是面向对象的设计思想。 new方法的核心是返回一个新对象,将原型链和实例的this关联起来,而jQuery选择器在使用的时候不必使用this,原因是在构造函数内部调用了new。 例如:var $$ = ajQuery = function(selector) { if(!(this instanceof ajQuery)){ return new ajQuer原创 2017-07-07 10:43:26 · 819 阅读 · 0 评论 -
jquery异步机制源码分析
统揽Deferred全局,如下:1. Deferred: function( func ) { var tuples = [], state = "pending", promise = { state: function() {}, always: function()原创 2017-06-18 12:09:54 · 244 阅读 · 0 评论