代码改变世界

随笔档案-2010年04月

事件嗅探技术

2010-04-29 23:05 by BlueDream, 599 阅读, 收藏, 编辑
摘要: 给浏览器绑定事件的兼容性很麻烦.因为不同的浏览器提供了不同的事件支持.比如IE系列的支持mouseenter/mouseleave事件.而opera不支持contextmenu以及input相关的onbeforepaste, onbeforecut等.比如我们要绑定鼠标滚轮事件.那么通过浏览器嗅觉的方法.会是以下的伪代码:但如果有一天IE支持了DOMMouseScroll事件的话.那么这段代码就又... 阅读全文

innerHTML添加大量节点优化

2010-04-29 22:18 by BlueDream, 1765 阅读, 收藏, 编辑
摘要: 这里有个需求.就是如果有很大量的html元素用innerHTML加载到页面中尤其在IE6下会很慢.甚至假死.该怎么解决.JAMES PADOLSEY 给了一个很好的解决方法.这里主要思路就是:通过递归temp里的firstChild结点.不断的添加转移到FragMent结点中.直到temp.firstChild为null(即转移完毕**因为添加的是结点引用所以用appendChild添加的时候te... 阅读全文

无污染的DOM扩展

2010-04-27 15:09 by BlueDream, 373 阅读, 收藏, 编辑
摘要: 像prototype.js的那种直接在元素上原型进行扩展.作者也渐渐的感觉到了吃力.所以避免对原生对象污染还是很有必要的.【简易的扩展函数】 阅读全文

清空File文本值

2010-04-24 21:11 by BlueDream, 983 阅读, 收藏, 编辑
摘要: 阅读全文

Chrome下arguments共享BUG

2010-04-14 18:19 by BlueDream, 506 阅读, 收藏, 编辑
摘要: 没有赋值的arguments对象项(c)是不应该具有共享性的.但Chrome却埋了这个地雷.附上文档规范:My confusion stemmed from Section 10.6 Note 1 of ECMA-262, 5th Edition, which reads:For non-strict mode functions the array index (defined in 15.4)... 阅读全文

IE下检测泄露的全局变量

2010-04-13 18:26 by BlueDream, 866 阅读, 收藏, 编辑
摘要: 今天在国外博客看到了7个额外的build-in对象:ScriptEngine,ScriptEngineBuildVersion,ScriptEngineMajorVersion,ScriptEngineMinorVersion,CollectGarbage,RuntimeObject, andGetObject其中比较感兴趣的两个是ScriptEngineMinorVersion获取IE版本号和另... 阅读全文

JS初步继承机制.

2010-04-13 10:40 by BlueDream, 933 阅读, 收藏, 编辑
摘要: JS继承分为:类式继承和原型式继承.类式继承源于大多程序员熟知的传统形式.所以比较容易接受. 原型式继承是源于JS独特的原型机制.因此效率更高.至于哪一种还是看个人习惯了.这里只是构造了个简单的类式继承的原型.上面的例子就是Author继承了Person类 阅读全文

CustomEvent

2010-04-07 17:33 by BlueDream, 3021 阅读, 收藏, 编辑
摘要: 事件机制 -- 典型观察者模式. 程序设计的正确标准是松耦合,高内聚. 而观察者模式恰恰给松耦合提供了便利条件. CustomEvent又是对事件的高度封装.是用户能够自定义自己的事件. 从而达到更好的松耦合.简单的自定义事件:上面代码主要分为三部分1.addListener(添加事件句柄)首先初始化的时候维护一个_listeners的Hash列表. 当追加自定义事件的时候.如果该事件没有追加过即... 阅读全文

Google_Eye

2010-04-01 17:47 by BlueDream, 1012 阅读, 收藏, 编辑
摘要: 【代码】 阅读全文
点击右上角即可分享
微信分享提示