/*
* 此脚本专门处理按键光标移动处理
* 结合jQuery的jquery.hotkeys.min.js一起使用
* 解决在文本有内容的情况下光标可以在文字上移动,到达文本末尾是往后跳格,到达文本首位是往前跳格
* $(".clsinput12").not(".css_readonly,:hidden")获取的是可输入的一些文本框的元素数组,包括 input,select,textarea
*
*/
//IE中屏蔽后退建(Back Space)
document.onkeydown = function() //用户的按键事件
{
if(event.keyCode == 8) //如果按下的是退格键
{
if(event.srcElement.tagName.toLowerCase() != "input"
&& event.srcElement.tagName.toLowerCase() != "textarea") //如果是在textarea内
event.returnValue = false; //不执行任何操作
}
}
//屏蔽掉IE自带的功能键
document.onkeydown=noway; //绑定窗体加载事件
function noway(){
if(event.keyCode==116){ //通过键值判断是否是F5
event.keyCode=0;
event.returnValue=false; //不进行任何操作
}
}
//js获得光标所在的文本框(text/textarea)中的位置
function getPosition(obj){
var result = 0;
if(obj.selectionStart){ //IE以外
result = obj.selectionStart
}else{ //IE
var rng;
if(obj.tagName == "textarea"){ //TEXTAREA
rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
}else{ //Text
rng = document.selection.createRange();
}
rng.moveStart("character",-event.srcElement.value.length);
result = rng.text.length;
}
return result;
}
//计算字符串长度
String.prototype.codeLength=function(){
var len=0;
if(this==null||this.length==0)
return 0;
var str=this.replace(/(^\s*)|(\s*$)/g,"");//去掉空格
for(i=0;i<str.length;i++)
len++;
return len;
}
//热键处理
//屏蔽Backspace键
$(document).bind('keydown', 'backspace',function (evt){
if(evt.srcElement.tagName.toLowerCase()=="body"){
return false;
}
});
//向右箭头按键
$(document).bind('keydown', 'right',function (evt){
var currentElement=evt.target;//当前元素
var curId=currentElement.id;//获取元素id
var index=$(".clsinput12").not(".css_readonly,:hidden").index($("#"+curId)[0])+1;//获取后一个元素的index,此写法可参照jquery文档的index(object)
var elmlen=$(".clsinput12").not(".css_readonly,:hidden").length;//去掉只读和隐藏的元素,获取页面上的元素个数
if(index<elmlen){
if(evt.srcElement.tagName.toLowerCase()=="input"){
var len=evt.target.value.codeLength();
var pos=getPosition(evt.target);
if(pos==len){
$(".clsinput12").not(".css_readonly,:hidden")[index].focus();
}
}else {
$(".clsinput12").not(".css_readonly,:hidden")[index].focus();
}
}
});
//向左箭头按键
$(document).bind('keydown', 'left',function (evt){
var currentElement=evt.target;
var curId=currentElement.id;
var index=$(".clsinput12").not(".css_readonly,:hidden").index($("#"+curId)[0])-1;//获取前一个元素的index
if(index>-1){
if(evt.srcElement.tagName.toLowerCase()=="input"){
var pos=getPosition(evt.target);
if(pos==0){
//debugger;
$(".clsinput12").not(".css_readonly,:hidden")[index].focus();
}
}else { //if(evt.srcElement.tagName.toLowerCase()=="select") readonly="readonly"
$(".clsinput12").not(".css_readonly,:hidden")[index].focus();
}
}
});
分享到:
相关推荐
15. `Ctrl+W`:选中光标所在的单词,连续按会有更多选择效果。 16. `Ctrl+方向左/右`:光标跳到上/下一个单词。 17. `Ctrl+方向上/下`:类似鼠标滚动,上下移动。 18. `Ctrl+Tab`:在编辑窗口间切换,加`Delete`关闭...
代码编辑中的多光标和选区功能,可以通过Alt+Click添加新的光标位置,而Shift+Ctrl+Alt+J则用于快速添加选区。 WebStorm还提供了强大的调试快捷键,如F8为跳过,F7为步入,Shift+F7为智能步入,Shift+F8为跳出,Alt...
- Ctrl+左右箭头键:按单词移动光标。 - Ctrl+上/下箭头键:移动到段落的开头/结尾。 - Ctrl+Home:移动到文档开头。 - Ctrl+End:移动到文档结尾。 - Alt+Ctrl+PageUp 或 Alt+Ctrl+PageDown:上/下翻页。 4. 选定...
Ctrl+F、Ctrl+Shift+F、F3和Shift+F3分别用于查找、在文件中查找、查找下一个和查找上一个,Ctrl+H用于替换,Ctrl+Shift+H在文件中替换,Alt+F12列出查找结果,Ctrl+Shift+V实现剪贴板循环,Ctrl+左右箭头键移动一个...
* Ctrl+Shift+Tab:在选项卡上向后移动 * Tab:在选项上向前移动 * Shift+Tab:在选项上向后移动 * Alt+加下划线的字母:执行与该字母匹配的命令(或选择选项) * Enter:对于许多选定命令代替单击鼠标 * 空格键:...
+ Ctrl + Shift + Tab 在选项卡上向后移动 + Tab 在选项上向前移动 + Shift + Tab 在选项上向后移动 + Alt + 向上键 在 Windows 资源管理器中查看上一级文件夹 + Esc 取消当前任务 + Ctrl + Shift + Esc 打开...
Ctrl+M 光标移动至括号内开始或结束的位置 Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号) Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果) Ctrl+Shift+/ 注释已选择内容 Ctrl+Z 撤销 Ctrl+Y 恢复...
* Ctrl+Shift+L:先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。 * Ctrl+Shift+M:选择括号内的内容(继续选择父括号)。 * Ctrl+M:光标移动至括号内结束或开始的位置。 编辑类 * Ctrl+J...
Alt+Shift+向下箭头、Alt+Shift+向上箭头、Alt+Shift+End和Alt+Shift+Home键都可以用来进行列的选中。在需要对列数据进行操作时,这些快捷键可以帮助快速选中连续的文本区域。 Ctrl+Shift+T创建TODO条目,Ctrl+...
在选项卡上向后移动 ctrl+ shift+ tab 在选项上向前移动 tab 在选项卡上向前移动 ctrl+ tab 如果在“另存为”或“打开” 对话框中选择了某文件夹, 要打开上一级文件夹 backspace 在“另存为”或“打开...
- `Tab` 或 `Shift+Tab`:在功能区选项间移动。 - 箭头键:在功能区项间上下左右移动。 - `Enter` 或 `空格键`:执行功能区命令或打开库。 通过熟练掌握这些快捷键,用户可以快速执行各种操作,提高Word文档处理...
Ctrl+Shift+F6, Ctrl+F10, Alt+Tab, Alt+Shift+Tab, Tab, Shift+Tab, Ctrl+Tab, Ctrl+Shift+Tab, PrintScreen, Alt+PrintScreen** - 这些快捷键涉及文档导航、关闭文档和窗口、切换任务以及屏幕捕捉等功能。...
- `Arrow Keys`:在文本中移动光标,`Ctrl+Arrow Keys`:按单词移动。 3. **选择和编辑**: - `Shift+Arrow Keys`:选取文本。 - `Ctrl+Shift+Arrow Keys`:选取单词。 - `Shift+Home`/`Shift+End`:选取从当前...
Ctrl+Shift+Alt+Ctrl+CShiftAlt+Ctrl+RAlt+Ctrl+TAlt+Ctrl+.Shift+Shift+Ctrl+Shift+Ctrl+Shift+Shift+EndShift+HomeShift+Shift+Ctrl+Shift+...TabShift+TabAlt+HomeAlt+EndAlt+PageUpAlt+PageDownEnterCtrl+Tab”...
* 移动到前一个单元:Shift+Tab * 在当前行前插入一行:Control+M * 在表格末尾插入一行:在最后单元按 Tab * 删除当前行:Control+Shift+M * 插入一列:Control+Shift+A * 删除一列:Control+Shift+-( 连字号 ) * ...
* F2:将光标定位于单元格内,相当于双击的功能 * Alt+回车:在同一单元格中实现分行填写 * Ctrl+NUM+:插入单元格 格式 * Ctrl+1:设置单元格格式 * Ctrl+2:加粗 * Ctrl+3:斜体 * Ctrl+4:下划线 复制和粘贴 ...
- 箭头键:上下左右移动光标。 - Home:移动到行首。 - F4 或 Ctrl+Y:重复上次操作。 - Ctrl+Shift+F3:创建行列标志的名称。 - Ctrl+D:向下填充。 - Ctrl+R:向右填充。 - Ctrl+F3:定义名称。 - Ctrl+K...
* Ctrl+左右箭头键:一次可以移动一个单词 * Ctrl+上下箭头键:滚动代码屏幕,但不移动光标位置。 * Ctrl+Shift+L:删除当前行 * Ctrl+M,M:隐藏 这些快捷键可以大大提高开发效率,帮助开发者更快速地完成开发任务...
F2重命名选中项目,Ctrl+箭头键可快速移动光标,选择文本。F3搜索文件,Alt+Enter显示属性,Alt+F4关闭当前窗口。Ctrl+F4在多文档程序中关闭当前文档,Alt+Tab和Ctrl+Alt+Tab在不同窗口间切换,Ctrl+鼠标滚轮调整...