JavaScript获取选中文本

Firefox, Safari, Opera下,可以用window.getSelection(), 参考MDC

IE下,可以用document.selection.createRange().text, 参考MSDN

放在一起:


function getSelectionText() {
	if(window.getSelection) {
		return window.getSelection().toString();
	} else if(document.selection && document.selection.createRange) {
		return document.selection.createRange().text;
	}
	return '';
}

注意:当选中的是input[type=text]里面的值时,getSelection在Firefox和Opera下无法获取到选取值,在Safari下没问题。

Tags: ,

从谷歌的一个Bug说起,谈谈键盘事件的兼容性

点击小图看大图

上面是谷歌首页,当输入某个词时,下面会弹出自动补全提示。功能并不复杂,但考虑到要兼容各个浏览器,谷歌为此可能花费了不少功夫。然而完美实在是很难得,谷歌首页上一直有一个处理得不妥的Bug:

除了Ctrl+X/C/V,Ctrl+Z/Y也是经常使用的快捷键。在Firefox/Safari/Opera中访问谷歌,一切都很正常。但当我们打开IE浏览谷歌时,Ctrl+Z/Y不起作用了。在当今特别是中国,IE是份量最重的浏览器,谷歌首页有此问题,完全可以归为一个Bug.

这个Bug究竟是怎么引起的呢?为了进一步讨论,我们先来看看各个浏览器下,当输入法开启和未开启时,对键盘等事件的响应情况。

猛击查看 JavaScript键盘事件测试小结

通过上面这篇测试小结,我们可以看出,要实现谷歌的自动补全功能并不是 (Continue reading…)

Tags: , , , ,

EmEditor黑色风格配色方案分享

有朋友索求,于是整理一下放出来。这套配色最初是根据textMate的黑色风格修改的,后来陆陆续续针对php、html、js、css做了细调,已经用了有一年多^o^

点击看大图

注意:导入reg前,请先备份emeditor配置,以防万一出错。

字体推荐使用 Megatops ProCoder 1.0,字体大小选择10. Consola, Monaco等字体做ppt时很好,日常编程还是等宽点阵字体耐看。

Tags: , ,

写代码这点事儿 - 从卷帘动画的实现说起

这是淘宝懒懒交流会第二期的内容,大纲为:

  1. 布衣暖、菜根香,平淡滋味长 - 卷帘动画实例浅析
  2. 山重水复,柳暗花明 - 换个角度看世界
  3. 雄关漫道,从头越,长空西风烈 - 为了明天的偷懒
  4. 水至清则无鱼 - 完美的诠释
  5. 此中有真意 - 思想的魅力
下载:lazy_talk_002_ppt.zip (1.8M)

注意:压缩包中的杂感.txt是我在准备这个ppt时随手记录的一些想法,有些没有在ppt里体现,感兴趣的可以都看看,讨论讨论。

PS:PPT提到的直觉最终版中,所有相关的js代码请到Unicorn项目中查看: SVN Link

欢迎大家讨论交流。

Tags: , , , , , ,

Test page for clientWidth and offsetWidth

Just Click Here(client_offset_testpage.html) to see the annoying compatibility of clientWidth, offsetWidth, clientHeight and offsetHeight in different browsers.

IE7 is too bad.

对clientWidth和offsetWidth在各个浏览器上的差异做了一个简单的测试页面,点击这里查看

Tags: ,

Pages(2):[1]2»