摘要: 使用事件代理有时候我们会感觉到页面反应迟钝,这是因为DOM树元素中附加了过多的事件句柄并且些事件句病被频繁地触发。这就是为什么说使用事件代理是一种好方法了。如果你在一个div中有10个按钮,你只需要在div上附加一次事件句柄就可以了,而不用去为每一个按钮增加一个句柄。事件冒泡时你可以捕捉到事件并判断出是哪个事件发出的。缓存选择器查询结果选择器查询是开销很大的方法。所以,使用选择器的次数应该越少越好,并且尽可能缓存选中的结果,便于以后反复使用。比如,下面这样的写法就是糟糕的写法:jQuery('#top').find('p.classA');jQuery(' 阅读全文
posted @ 2014-01-08 17:00 leejersey 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 避免使用@import有两种方式加载样式文件,一种是link元素,另一种是CSS 2.1加入@import。而在外部的CSS文件中使用@import会使得页面在加载时增加额外的延迟。虽然规则允许在样式中调用@import来导入其它的CSS,但浏览器不能并行下载样式,就会导致页面增添了额外的往返耗时。比如,第一个CSS文件first.css包含了以下内容:@import url(“second.css”)。那么浏览器就必须先把first.css下载、解析和执行后,才发现及处理第二个文件second.css。简单的解决方法是使用标记来替代@import,比如下面的写法就能够并行下载CSS文件,从而 阅读全文
posted @ 2014-01-08 11:13 leejersey 阅读(1414) 评论(0) 推荐(0) 编辑
摘要: 解决方法:1:expression表达式:a{star:expression(thisthis.onFocus=this.blur())} 不推荐使用,消耗性能2:JS解决 window.onload=function(){var aLinks=document.getElementsByTagName('a');for(var i=0;i<aLinks.length;i++){aLinks[i].onfocus=function(){this.blur();};}}3:jQuery解决 $(function(){$('a').bind('focu 阅读全文
posted @ 2014-01-08 10:47 leejersey 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 避免使用IframeIframe也叫内联frame,可以把一个HTML文档嵌入到另一个文档中。使用iframe的好处是被嵌入的文档可以完全独立于其父文档,凭借此特点我们通常可以使浏览器模拟多线程,需要注意的是使用iframe并不会增加同域名下的并行下载数,浏览器对同域名的连接总是共享浏览器级别的连接池,即使是跨窗口或跨标签页,这在所有主流浏览器都是如此。也因为这样这让iframe带来的好处大打折扣。在页面加载过程中iframe元素会阻塞父文档onload事件的触发,而开发者程序通常会在onload事件触发时初始化UI操作。例如,设置登录区域的焦点。因为用户习惯等待这一操作,所以尽可能的让onl 阅读全文
posted @ 2014-01-08 10:25 leejersey 阅读(1045) 评论(0) 推荐(0) 编辑