JS常用方法
URL转码
- encodeURI/decodeURI
阻止默认事件
-
event.preventDefault();
js 转义字符:
- \t tab制表符
- \n 换行符
- \r 回车符
-
\b 退格符
js获取鼠标位置
mousemove(e) e.pageX e.pagey
js深度克隆
-
js
EA = {a:false}; var tmp = JSON.stringify( EA ); var ea = JSON.parse(tmp); ea.a = true; console.log(EA.a)
-
jquery
EA = {a:true }; var ea = $.extend({},EA); ea.a = false; console.log(EA.a)
Textarea Tab键和Shift+Tab键
$('textarea').keyup(function(event){
var keyCode = event.keyCode;
if(self.isCtrlDown && self.isVDown) {//Ctrl+V
$('#wmd-input').val($('#wmd-input').val().replace(/\t/g,' '));
}
if(keyCode == 16) {
self.isShiftDown = false;
} else if(keyCode == 17) {
self.isCtrlDown = false;
} else if(keyCode == 86) {
self.isVDown = false;
}
});
$('textarea').keydown(function(event){
var $textarea = $(this);
var keyCode = event.keyCode;
if(keyCode == 16) {
self.isShiftDown = true;
} else if(keyCode == 17) {
self.isCtrlDown = true;
} else if(keyCode == 86) {
self.isVDown = true;
}
if(keyCode == 9) {//Tab
event.preventDefault();
var startIndex = this.selectionStart;
var endIndex = this.selectionEnd;
var text = $textarea.val();
var textSelection = text.substring(startIndex, endIndex);
var tab = ' ';
var isSingleLine = textSelection.indexOf('\n') == -1;
if(!self.isShiftDown) {
if(isSingleLine) {
text = text.substr(0, startIndex) + tab + text.substr(endIndex);
$textarea.val(text);
this.selectionStart = startIndex + tab.length;
this.selectionEnd = startIndex + tab.length;
} else {
textSelection = tab + textSelection.replace(/\n/g,'\n' + tab);
text = text.substr(0, startIndex) + textSelection + text.substr(endIndex);
$textarea.val(text);
this.selectionStart = startIndex + tab.length;
this.selectionEnd = startIndex + textSelection.length;
}
} else {
if(isSingleLine) {
} else {
textSelection = textSelection.replace(/\n /g,'\n');
text = text.substr(0, startIndex - tab.length) + textSelection + text.substr(endIndex);
$textarea.val(text);
this.selectionStart = startIndex - tab.length;
this.selectionEnd = startIndex - tab.length + textSelection.length;
}
}
}
});
键盘keyCode大全
字母按键码
A : 65 B : 66 C : 67 D : 68
E : 69 F : 70 G : 71 H : 72
I : 73 J : 74 K : 75 L : 76
M : 77 N : 78 O : 79 P : 80
Q : 81 R : 82 S : 83 T : 84
U : 85 V : 86 W : 87 X : 88
Y : 89 Z : 90 0 : 48 1 : 49
2 : 50 3 : 51 4 : 52 5 : 53
6 : 54 7 : 55 8 : 56 9 : 57
数字按键码
乘号 : 106 加号 : 107 Enter : 108 减号 : 109
小数点 : 110 除号 : 111
其他按键码
乘号 : 106 加号 : 107 Enter : 108 减号 : 109
小数点 : 110 除号 : 111
F1 : 112 F2 : 113 F3 : 114 F4 : 115
F5 : 116 F6 : 117 F7 : 118 F8 : 119
F9 : 120 F10 : 121 F11 : 122 F12 : 123
F13 : 124 F14 : 125 F15 : 126
Backspace : 8
Tab : 9
Clear : 12
Enter : 13
Shift : 16
Control : 17
Alt : 18
Caps Lock : 20
Esc : 27
空格键 : 32
Page Up : 33
Page Down : 34
End : 35
Home : 36
左箭头 : 37
向上箭头 : 38
右箭头 : 39
向下箭头 : 40
Insert : 45
Delete : 46
Help : 47
Num Lock : 144
; : : 186
= + : 187
- _ : 189
/ ? : 191
` ~ : 192
[ { : 219
| : 220
] } : 221
'' ' : 222