/*
* 此脚本专门处理按键光标移动处理
* 结合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();
}
}
});
分享到:
相关推荐
Ctrl+M 光标移动至括号内开始或结束的位置 Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号) Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果) Ctrl+Shift+/ 注释已选择内容 Ctrl+Z 撤销 Ctrl+Y 恢复...
在选项卡上向后移动 ctrl+ shift+ tab 在选项上向前移动 tab 在选项卡上向前移动 ctrl+ tab 如果在“另存为”或“打开” 对话框中选择了某文件夹, 要打开上一级文件夹 backspace 在“另存为”或“打开...
Ctrl+F1 功能区显示隐藏 Ctrl+F6 打开文档间切换 Ctrl+F9 插入 Ctrl+F10 文档窗口放大与缩小 Ctrl+F12 打开文档库 Home 光标移动到行首 End 光标移动到行尾 Shift+Home 选定光标前一段内容 Shift+End 选定光标后一段...
Ctrl+M 光标移动至括号内开始或结束的位置 Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果) Ctrl+Shift+c转换为utf8 Ctrl+R 搜索指定文件的函数标签 Ctrl+G 跳转到指定行 Ctrl+KT 折叠属性 Ctrl+K0 展开...
Ctrl+M 光标移动至括号内开始或结束的位置 Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果) Ctrl+Shift+c转换为utf8 Ctrl+R 搜索指定文件的函数标签 Ctrl+G 跳转到指定行 Ctrl+KT 折叠属性 Ctrl+K0 展开...
在属性窗口按TAB键将光标移动到属性名区,键入属性名的开头字母可快速定位到该属性 F4 运行到光标处 F5 设置断点 F7 步进式调试同时追踪进入子过程 F8 步进式调试不进入子过程 F9 运行 CTRL+F9 编译 CTRL+B ...
移动到编辑器中的前一个文档CTRL+SHIFT+TAB 窗口.上一窗格SHIFT+ALT+F6 窗口.上一个拆分窗格SHIFT+F6 窗口.上一选项卡CTRL+PAGEUP 视图.文档大纲CTRL+ALT+T 视图.对象浏览器CTRL+ALT+B 显示“对象浏览器”F2 视图....
返回光标最后编辑位置 Last Edit Location command + shift + delete control + shift + Backspace 调到代码块首部/尾部 Move Caret To Code Block Option + Command + [ 或者 ] Control+[ 或者 ] 重命名 Rename ...
Ctrl+M 光标移动至括号内开始或结束的位置 Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果) Ctrl+Shift+c转换为utf8 Ctrl+R 搜索指定文件的函数标签 Ctrl+G 跳转到指定行 Ctrl+...
55.Tab 在object inspector窗口按tab键将光标移动到属性名区,然后键入属性名的开头字母可快速定位到该属性 56.Ctrl+Alt 按着Ctrl+Alt之后,可用鼠标选择一个矩形块中的代码,并可比它进行复制,粘贴 57.Shift+↓、...
Shift+ ↑↓← → 在箭头方向以十个栅格为增量移动光标 ↑↓← → 在箭头方向以一个栅格为增量移动光标 Space 放弃屏幕刷新 Esc 退出当前操作 End 刷新屏幕 Home 以光标为中心刷新屏幕 PageDown or Ctrl+ mouse ...
代码标签输入完成后,按Tab,生成代码。 选中文本,按Ctrl+Shift+F7 ,高亮显示所有该文本,按Esc高亮消失。 Ctrl+W 选中代码,连续按会有其他效果 选中文本,按Alt+F3 ,逐个往下查找相同文本,并高亮显示。 ...
在选项卡上向后移动 CTRL+ SHIFT+ TAB 在选项上向前移动 TAB 在选项卡上向前移动 CTRL+ TAB 如果在“另存为”或“打开” 对话框中选择了某文件夹, 要打开上一级文件夹 BACKSPACE 在“另存为”或...
选中数行,整体往前移动:shift + tab * 25.在当前类中,显示类结构,并支持搜索指定的方法、属性等:ctrl + o * 26.批量修改指定的变量名、方法名、类名等:alt + shift + r * 27.选中的结构的大小写的切换:...
代码标签输入完成后,按Tab,生成代码。 选中文本,按Ctrl+Shift+F7 ,高亮显示所有该文本,按Esc高亮消失。 Ctrl+W 选中代码,连续按会有其他效果 选中文本,按Alt+F3 ,逐个往下查找相同文本,并高亮显示...
Ctrl+Shift 输入法切换 Ctrl+空格 中英文切换 Ctrl+回车 QQ号中发送信息 Ctrl+Home 光标快速移到文件头 Ctrl+End 光标快速移到文件尾 Ctrl+Esc 显示开始菜单 Ctrl+Shift+快速缩小文字 Ctrl+Shift+> 快速放大文字 ...
Ctrl+M 光标移动至括号内开始或结束的位置 Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号) Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果) Ctrl+Shift+/ 注释已选择内容 Ctrl+Z 撤销 Ctrl+Y 恢复...
#最重要的快捷键 1. ctrl+shift+A:万能命令行 2. shift两次:查看资源文件 #新建工程第一步操作 1.... 2....File Encodings-->... 1....#光标操作 ... shift+tab:反向退格 11. alt+shift+上下键:选中代码移
Ctrl+M 光标移动至括号内开始或结束的位置 Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号) Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果) Ctrl+Shift+/ 注释已选择内容 Ctrl+Z 撤销 Ctrl+Y...
Ctrl+Shift 输入法切换 Ctrl+空格 中英文切换 Ctrl+回车 QQ号中发送信息 Ctrl+Home 光标快速移到文件头 Ctrl+End 光标快速移到文件尾 Ctrl+Esc 显示开始菜单 Ctrl+Shift+快速缩小文字 Ctrl+Shift+> 快速放大...