随笔分类 -  jQuery

1 2 下一页

jQuery 3.0的domManip浅析
摘要:domManip 这个函数的历史由来已久,从 jQuery 1.0 版本开始便存在了,一直到最新的 jQuery 版本。可谓是元老级工具函数。 domManip 的主要功能是为了实现 DOM 的插入和替换。具体共为以下 5 个函数服务 内部后插入(append) 内部前插入(prepend) 外部前 阅读全文

posted @ 2016-09-03 06:01 snandy 阅读(1949) 评论(0) 推荐(0) 编辑

jQuery 3.0的buildFragment
摘要:在 jQuery3.0中,buildFragment 是一个私有函数,用来构建一个包含子节点 fragment 对象。这个 fragment 在 DOM1 中就已经有了,所有浏览器都支持。当频繁操作(添加、插入) DOM 时使用该方法可以提高性能,John resig 做过一个测试及一篇博客。 jQ 阅读全文

posted @ 2016-08-16 05:08 snandy 阅读(2107) 评论(0) 推荐(1) 编辑

jQuery 3.0 的 setter/getter 模式
摘要:jQuery 的 setter/getter 共用一个函数,通过是否传参来表明它是何种意义。简单说传参它是 setter,不传它是 getter。 一个函数具有多种意义在编程语言中并不罕见,比如函数重载:一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。重载的好处是减少了函数名的数量, 阅读全文

posted @ 2016-07-11 07:27 snandy 阅读(1777) 评论(1) 推荐(0) 编辑

jQuery 3.0 的 Data 浅析
摘要:jQuery 3.0 在6月9日正式发布了,3.0 也被称为下一代的 jQuery 。这个版本从14年10月开始,其中发布过一次beta 版(2016/1/14,)和候选版(2016/05/20)。一路走来,颇为不易。 文章目录 一、Data浅析 jQuery 3.0 中的 Data 是内部使用的, 阅读全文

posted @ 2016-06-14 07:34 snandy 阅读(3598) 评论(0) 推荐(8) 编辑

jQuery 3.0 的变化
摘要:时隔 3 个月,jQuery 团队终于发布了 3.0 Alpha 版本。有两个版本 jQuery compat 3.0 和 jQuery 3.0。 jQuery compat 3.0 对应之前的 1.x, 兼容更多的浏览器,对于IE支持到 8.0 版本 jQuery 3.0 对应之前的 2.x,关注 阅读全文

posted @ 2015-07-20 16:07 snandy 阅读(16371) 评论(2) 推荐(2) 编辑

IE6/7/8不支持jQuery创建非闭合格式的链接A
摘要:代码如下 使用 $('') 方式创建一个jQuery对象,然后添加到div里,Firefox/Chrome/Safari/Opera/IE9+都能看见添加的链接a。唯独IE6,7,8里不行。开始以为是1.6.4版本的bug(坚信这样的写法没问题),后换1.7.0,1.7.2,1.8... 阅读全文

posted @ 2014-10-09 20:23 snandy 阅读(1622) 评论(1) 推荐(0) 编辑

如何定制你自己的jQuery
摘要:jQuery随着版本的不断升级代码量也随之增加,从1.0.0的不到两千行到现在的1.10.2已经突破1万行。新的API不断增加,但有些在项目中并没有用到。jQuery团队很早就考虑到这一点,按模块来划分,并可以按需定制自己的jQuery。jQuery从1.9开始构建工具迁移到grunt。grunt是基于node的,因此需要安装node,下面详细介绍。一、安装node很简单,这里有入门参考。二、安装grunt也很简单,这里有入门参考。三、去github下载jQuery源码使用命令:git clone git://github.com/jquery/jquery.git下载后的目录四、安装依赖包确 阅读全文

posted @ 2014-01-24 06:19 snandy 阅读(10305) 评论(10) 推荐(10) 编辑

读jQuery之二十(Deferred对象)
摘要:Deferred对象是由 jQuery.Deferred 构造的,jQuery.Deferred 被实现为简单工厂模式。 它用来解决JS中的异步编程,它遵循 Common Promise/A 规范。实现此规范的还有 when.js 和 dojo。 $.Deferred作为新特性首次出现在版本1.5中 阅读全文

posted @ 2012-12-19 16:32 snandy 阅读(29781) 评论(9) 推荐(14) 编辑

读jQuery之十九(多用途回调函数列表对象)
摘要:$.Callbacks 是在版本 1.7 中新加入的。它是一个多用途的回调函数列表对象,提供了一种强大的方法来管理回调函数队列。 整个 $.Callbacks 的源码不到 200 行,它是一个工厂函数,使用函数调用方式(非new,它不是一个类)创建对象,它有一个可选参数flags用来设置回调函数的行 阅读全文

posted @ 2012-11-15 15:43 snandy 阅读(16787) 评论(7) 推荐(11) 编辑

jQuery1.8的几个小变化
摘要:一,.width() 和 .height()方法1.8增加了对css属性box-sizing的支持,需要注意与1.7.2的区别了。1.7.2及以前的版本无论是否定义box-sizing: border-box返回的都是盒模型中元素内容的宽度或高度,不包括padding和border。1.8后则不同了,当设置了css属性box-sizing: box-border后,使用width()返回的数值有可能与css中设置的不同。如 div[id=container]的box-sizing设置为border-box(Firefox14.1尚不支持border-box,使用-m... 阅读全文

posted @ 2012-08-18 23:03 snandy 阅读(6954) 评论(0) 推荐(1) 编辑

jQuery-1.7.2中getAll方法的疑惑
摘要:getAll方法是私有的,在manipulation模块中。代码只有简单的几行,如下function getAll( elem ) { if ( typeof elem.getElementsByTagName !== "undefined" ) { return elem.getElementsByTagName( "*" ); } else if ( typeof elem.querySelectorAll !== "undefined" ) { return elem.querySelectorAll( "*" 阅读全文

posted @ 2012-05-18 18:05 snandy 阅读(3163) 评论(1) 推荐(1) 编辑

工具:统计jQuery中各字符串出现次数
摘要:源文件(将jQuery源码复制到下面的文本域):..字符串: 点击“统计所有字符出现次数”按钮后发现,字符串“string”竟然出现了44次,多数是诸如以下的代码typeof selector === "string"typeof data !== "string"type === "string"typeof context === "string"getByName = typeof name === "string"// ... 如果使用一个变量替换,使用工具压缩时将会进一步减少文件的大小 阅读全文

posted @ 2012-05-01 10:08 snandy 阅读(3510) 评论(0) 推荐(0) 编辑

读jQuery之十八(元素位置)
摘要:距离上一次源码阅读近一年了,这时已经更新到了1.7.2。HTML元素的位置相关的css属性有top、left、bottom、right。要灵活使用这些属性,需要了解css的定位模型position:正常文档流,相对定位,绝对定位。了解了这些css知识才更清楚jQuery的position及offse... 阅读全文

posted @ 2012-04-23 07:46 snandy 阅读(10935) 评论(0) 推荐(6) 编辑

jQuery(1.6.3) 中css方法对浮动的实现缺陷
摘要:JavaScript中设置元素的浮动属性(float),标准浏览器使用cssFloat,IE旧版本使用styleFloat。jQuery的css方法统一了两种写法,直接使用float属性即可,如下css方法中传参数“float”即可以设置也可以获取元素的float。<div id="d1">float div</div><script type="text/javascript"> $('#d1').css('float', 'right'); var str = $(& 阅读全文

posted @ 2011-09-07 07:42 snandy 阅读(4031) 评论(6) 推荐(5) 编辑

读jQuery之十七(attribute/property/class)
摘要:jQuery的属性模块提供了如下方法attr/removeAttrprop/removeProp(1.6)addClass/removeClass/toggleClass/hasClassval提供了几个静态方法以支持JQ对象以上方法,如jQuery.attr 对应 attr,即jq对象的attr方法内部调用了jQuery.attr。其次还有jQuery.removeAttr -> removeAttrjQuery.prop -> prop看代码可发现attr和prop方法中都直接调用的是jQuery.accessattr: function( name, value ) { re 阅读全文

posted @ 2011-09-03 08:56 snandy 阅读(5315) 评论(1) 推荐(0) 编辑

读jQuery之十六(事件代理)
摘要:事件代理的实现原理很简单:利用浏览器中事件的冒泡(event bubbling)和事件源(target || srcElement)。某些场景中特别适合使用事件代理,它有如下好处需要管理的handler更少。占用的内存更少(创建的驻留在内存中的handler少了)。DOM元素与代码更少的绑定。DOM... 阅读全文

posted @ 2011-09-02 11:48 snandy 阅读(9112) 评论(2) 推荐(1) 编辑

读jQuery之十五
摘要:在之前的event-jq-0.2.js基础上继续提取jQuery的trigger和namespace。实现功能如下// add eventE.bind(el, 'click', fn);E.bind(el, 'click.name', fn);E.bind(el, 'click', fn, data);// remove event : E.unbind(el, 'click', fn);E.unbind(el, 'click.name');E.unbind(el, 'click');E.unbin 阅读全文

posted @ 2011-08-18 18:23 snandy 阅读(2033) 评论(3) 推荐(3) 编辑

读jQuery之十四(触发事件核心方法)
摘要:触发事件,或称模拟用户动作。比如点击,我们可以用代码去模拟用户点击,达到的效果与真实的鼠标点击是一样的。在 事件模块的演变 我使用了dispatchEvent(标准) 和fireEvent(IE)来主动触发事件。如下...dispatch = w3c ? function(el, type){ t... 阅读全文

posted @ 2011-08-15 16:47 snandy 阅读(9920) 评论(2) 推荐(7) 编辑

读jQuery之十三
摘要:最近看完了添加事件和删除事件的核心方法,忍不住想把jQuery的事件模块抠出来。jQuery的代码是非常内聚的,一环套一环。想独立出来不容易。jQuery的事件模块严重依赖于其数据储存(jQuery.data),你会发现我的代码中的dataManager对象对应它。这里只提供bind和unbind方法。暂不包含事件命名空间(event namespace)事件代理(event delegation)特殊事件如dom ready接口如下:E.bind(el, 'click', fn); E.bind(el, 'click', fn, data);E.unbind( 阅读全文

posted @ 2011-08-11 11:41 snandy 阅读(2053) 评论(1) 推荐(0) 编辑

读jQuery之十二(删除事件核心方法)
摘要:使用jQuery删除事件(或称解除事件绑定)有三个函数:unbind、die和undelegate。这三个方法都依赖于未公开的jQuery.event.remove(后续使用remove简写)。此为删除事件的核心方法。remove 所作的事情与上一篇提到的.add 刚好相反。且与.add中的处理代码... 阅读全文

posted @ 2011-07-29 15:11 snandy 阅读(5163) 评论(2) 推荐(0) 编辑

1 2 下一页