最前端

我的工作,我的生活,点点滴滴...

归档: ‘ 2011 年七月

Aptana 3 中代码块的替换

原型又改动了,而且翻来覆去,大改小改!他们就爱在我做完HTML Demo后来改,也许HTML Demo更容易发现问题吧,HTMl Demo变成一个发现需求,改良交互和完美设计的平台,悲哀。改就改吧,这美名其曰:快速迭代。话说回来,其实多做些重复的体力活,不无好处,这些活往往会教会你如何用技巧来偷懒,如何让机器替你办事。扯远了…言归正传,一直以为Aptana 3 没有multi-line search的,记忆中Aptana 2 都有的,怎么升级的Aptana 3 退化了呢?反复折腾了半个小时,原来用正则表达式来替换代码块更方便!先别谎,简单的代码块替换,还用不着咱们自己写正则表达式,跟着我走就行了。

  1. 打开查找与替换窗口,选择Regular expressions,也就是使用正则表达式进行替换,然后关闭窗口。aptana replace 1
  2. 在当前窗口选中你要替换的代码(块),然后再次打开查找与替换窗口,我们会惊奇地发现Aptana已经帮我们在Find输入框中写正则表达式了,那Replace with的正则表达式我们怎么写呢?直接复制Find的就行啦,然后把你要改的文字或者标签改一下就行了(当然了,再复杂一点的查找与替换还是需要我们会写正则表达式的)aptana replace 2
  3. 最后一步,Replace All吧!

另外,所说代码块替换这个功能在版本3.0.3中得到改进,盼望…

Key Code 整理

最近系统用户体验可能得好好优化一下了,可能会涉及很多快捷键的操作,尤其在表单部分,enter,tab arrow…都用得很频繁。记单纯的keycode数字,我的脑容量太小了,所以有空自己弄个小键盘来做参考,忘记了打开一看,一目了然!

keyboard

  • Esc
  • F1
  • F2
  • F3
  • F4
  • F5
  • F6
  • F7
  • F8
  • F9
  • F10
  • F11
  • F12
  • Prt
  • Scr
  • Pau
  • Number Lock
  • Caps Lock
  • `
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 0
  • =
  • \
  • Ins
  • Home
  • PaU
  • Num
  • /
  • *
  • TAB
  • Q
  • W
  • E
  • R
  • T
  • Y
  • U
  • I
  • O
  • P
  • [
  • ]
  • Enter
  • Del
  • End
  • PaD
  • 7
  • 8
  • 9
  • +
  • Caps L
  • A
  • S
  • D
  • F
  • G
  • H
  • J
  • K
  • L
  • ;
  • Enter
  • 4
  • 5
  • 6
  • Shift
  • Z
  • X
  • C
  • V
  • B
  • N
  • M
  • ,
  • .
  • /
  • Shift
  • 1
  • 2
  • 3
  • Enter
  • Ctrl
  • Win
  • Alt
  • Space
  • Alt
  • Win
  • RightK
  • Ctrl
  • 0
  • .

小提示:当你点击你的真实键盘时,页面上的小键盘也有反应哦。哈哈。

中间,顺便看看Think Pad的键盘极致设计:

下面是Key Code和键盘对应列表:

字母和数字键的键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
A 65 J 74 S 83 1 49
B 66 K 75 T 84 2 50
C 67 L 76 U 85 3 51
D 68 M 77 V 86 4 52
E 69 N 78 W 87 5 53
F 70 O 79 X 88 6 54
G 71 P 80 Y 89 7 55
H 72 Q 81 Z 90 8 56
I 73 R 82 0 48 9 57

数字键盘上的键的键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
0 96 8 104 F1 112 F7 118
1 97 9 105 F2 113 F8 119
2 98 * 106 F3 114 F9 120
3 99 + 107 F4 115 F10 121
4 100 Enter 108 F5 116 F11 122
5 101 109 F6 117 F12 123
6 102 . 110        
7 103 / 111        

控制键键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
BackSpace 8 Esc 27 Right Arrow 39 -_ 189
Tab 9 Spacebar 32 Dw Arrow 40 .> 190
Clear 12 Page Up 33 Insert 45 /? 191
Enter 13 Page Down 34 Delete 46 `~ 192
Shift 16 End 35 Num Lock 144 [{ 219
Control 17 Home 36 ;: 186 /| 220
Alt 18 Left Arrow 37 =+ 187 ]} 221
Cape Lock 20 Up Arrow 38 ,< 188 ‘” 222

多媒体键码值(keyCode)
按键 键码 按键 键码 按键 键码 按键 键码
音量加 175            
音量减 174            
停止 179            
静音 173            
浏览器 172            
邮件 180            
搜索 170            
收藏 171            

扩展阅读

重温Javascript对象的深度克隆

Javascript对象的赋值是传址的,新对象的改变,会改变原对象,而有时,我们只是想要一个与原对象毫无关联但一模一样的新对象,就如同克隆一样。下面记录一下,深度克隆对象的一个方法:

	/**
	* 深度克隆一个对象
	* @param {Object} o 被克隆的对象
	* @return {Object} 返回克隆对象
	*/
	function  clone(o) {
	function  Clone() {
	}
 
	Clone.prototype = o;
	var  n =  new  Clone();
	for ( var  a  in  n) {
	if ( typeof  n[a] ==  "object" ) {
	n[a] = clone(n[a]);
	}
	}
	return  n;
	}

你还可以用下面的demo测试一下,首先选用不用的“产生新对象方式”,然后试着修改新对象的值,看看原对象值的变化。

object-clone

产生新对象方式: