2011年5月12日

Jquery之美中不足--之三----delegate的缺憾

摘要: jquery的delegate有好几个缺憾。----或许是因为sizzle少提供了以refEl为参考、一个按selector来筛选els的filter(els,selector,refEl)的功能,jq需要自己去实现类似的功能。其一:selector是基于:root的,而不是:scope的。所以,在写代码时,需要带上scrope的定位部分。----注::root指document根节点,:scope指代理节点例如,代理div1的儿子,需要这样写:$('#div1').delegate('#div1>*','click',fun});而不是这 阅读全文

posted @ 2011-05-12 14:52 JKisJK 阅读(9938) 评论(2) 推荐(1) 编辑

2011年4月28日

事件切片

摘要: QWrap群里讨论到AOP,之前也曾经讨论过方法切片,静态方法的切片在FunctionH里也曾有过,后来觉得实用场景不多而删除,另外,方法添加事件切片也讨论过,这里写一个简单的例子示意:View Code <HTML><HEAD><TITLE>Test</TITLE><META content="text/html; charset=gb2312" http-equiv=Content-Type> <script src="http://dev.qwrap.com/resource/js/_docs 阅读全文

posted @ 2011-04-28 18:13 JKisJK 阅读(695) 评论(0) 推荐(0) 编辑

Mentor规范

摘要: 在QWrap群里讨论时继承或实现或装饰时,讲到了自己心中的Mentor规范。JS原生的继承机制不完善,各种继承五花八门,看得有点厌倦,所以决定抛开继承,用mix来解决此类问题。N年前草拟了一个所谓的mentor(顾问)规范:mentor是一个对象,而不是一个Class。假设obj是一个{},mixin(obj,mentor)后(由于{}是干净的,所以这时是无冲突移植),obj正常拥有mentor的所有功能。对于有冲突移植,由移植者担负后果如果一个ClassA满足: "new ClassA(...)的结果是一个mentor"那么也说这个ClassA满足mentor规范。mix 阅读全文

posted @ 2011-04-28 17:37 JKisJK 阅读(527) 评论(0) 推荐(0) 编辑

2011年4月27日

QWrap简介之:结语

摘要: 绕开代码的实现细节,从目标与思路入手,对QWrap的系列介绍就告一段落了。面对已经相对成熟、拥有海量插件与用户群的JQuery,初生的QWrap显得有点幼稚单薄。不过,我仍然坚信Helper + Wrap + Retouch + Apps的设计,能够做到严谨与实用兼顾、代码清晰易维护升级、灵活产出等等别人框架所不能做到的,这会让QWrap的前途光明无限。当然,前途不是别人送的,QWrap还应推出一系列组件,才能够让人们放心的使用,而不是只是core_retouched.js这种只充当jquery补充的配角式应用。在稍后的一段时间内,会推出系列的组件。这些组件中的绝大多数,都经过线上项目的严峻考 阅读全文

posted @ 2011-04-27 17:27 JKisJK 阅读(593) 评论(2) 推荐(0) 编辑

QWrap简介之:apps果实篇之:小结

摘要: “Helper + Wrap + Retouch + Apps主线”之Apps小结。QWrap的灵活机制,可以满足多种应用的自由输出。现在回顾一下一些常用应用。js文件简介其它apps/core_dom_youa.js适用于项目开发,方便易用。以有啊为典型用户 使用文档:http://dev.qwrap.com/resource/js/_docs/_jk/ 相关文章:《Youa版应用》 文件大小:复合文件,发布时会合并压缩,gzip前,大小为48K apps/core_retouched.js适用于已使用jquery的项目,为jquery加上prototype与yui3的use功能。 使用文档 阅读全文

posted @ 2011-04-27 10:24 JKisJK 阅读(2162) 评论(3) 推荐(0) 编辑

2011年4月26日

QWrap简介之:apps果实篇之:定制

摘要: 就像是一棵树有很多果实一样,QWrap也有很多apps,本文讲解"QWrap定制"。前文已讲过QWrap的自动瘦身功能,即:分析硬性代码对QWrap的依赖,抽取出依赖对应的代码。事实上,还应该有另一种瘦身功能,即:先预期自己会用到哪些方法,再将对应的方法抽取出来。这种应用也是一种很实用的功能,对应的工具可以由自动抽取工具稍加改装获得。【JK 2011-12-17添加本段】感谢屈屈贡献本codepicker工具:http://dev.qwrap.com/resource/js/_tools/codepicker/本工具与Tangram的定制工具类似,参见:http://tan 阅读全文

posted @ 2011-04-26 20:00 JKisJK 阅读(573) 评论(0) 推荐(0) 编辑

QWrap简介之:apps果实篇之:纯净core+dom

摘要: 就像是一棵树有很多果实一样,QWrap也有很多apps,本文讲解"纯净core+dom"的应用,即apps/core_dom_pure.js。对应的帮助文档在这里:http://dev.qwrap.com/resource/js/_docs/_jsdoc_temp/(文档生成工具由Remember2015同学提供,特别感谢!)。本应用面向的用户是:组件开发者。对于组件开发者来说,有时会面临一种两难的选择:A:依赖某库。这样开发简单,但是使用有局限,需要用户在所在页面引用依赖库。B:无依赖开发。这样开发出来的组件是无依赖的,但是开发成本比较大,需要自己处理兼容等问题,并且如果 阅读全文

posted @ 2011-04-26 19:46 JKisJK 阅读(1810) 评论(0) 推荐(2) 编辑

2011年4月22日

QWrap简介之:apps果实篇之:Youa版应用

摘要: 就像是一棵树有很多果实一样,QWrap也有很多apps,本文讲解"QWrap的Youa版应用",即apps/core_dom_youa.js。Youa是QWrap的第一个真正全面使用QWrap的项目,apps/core_dom_youa.js中同时包含core、dom、youa三种retouch,在介绍Retouch机制时已经对他们分别作过介绍,他们同时起作用的结果就是:我们只引入一个js,就可以 :像prototype一样这样写:new Date().format();像jquery一样,这样写:W('#aaa a.aaa').click(fun).css 阅读全文

posted @ 2011-04-22 19:40 JKisJK 阅读(1559) 评论(0) 推荐(0) 编辑

2011年4月21日

QWrap简介之:apps果实篇之:扩展JS原生类

摘要: 就像是一棵树有很多果实一样,QWrap也有很多apps,本文讲解"扩展JS原生类"的应用,即apps/core_retouched.js应用。本应用会对原生类进行扩展,方便用户操作原生对象,例如:String、Array、Function等。本应用的典型应用场景:jquery专注于dom,所以欠缺原生对象的操作,以及模块加载机制等。本库恰好能提供,并且与jquery无冲突存在。前面已有文章讲过core/core_retouch.js,它是一个retouch文件。而本文讲的apps/core_retouched.js应用,它是一个复合文件,它由以下文件组成:View Code 阅读全文

posted @ 2011-04-21 17:46 JKisJK 阅读(2118) 评论(1) 推荐(2) 编辑

2011年4月15日

QWrap简介之:apps果实篇之:种子

摘要: 就像是一棵树有很多果实一样,QWrap也有很多apps,本文讲解种子应用。“种子”是沿用YUI3的说法,种子应用是解决模块加载问题的应用,包括:模块预加载、异步按需加载、模块应用。或许有些同学对异步加载模块不大熟悉,没关系,我们先感性的看一下这段代码<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>QW应用之一:seed_youa</t 阅读全文

posted @ 2011-04-15 22:30 JKisJK 阅读(2388) 评论(0) 推荐(1) 编辑

导航