文章摘要
本文介绍了一个用于处理键盘事件的JavaScript函数`catch_keydown(sel)`。该函数通过`switch`语句处理不同的键盘按键: 1. 当按下回车键(`keyCode`为13)时,函数重置选中的文本并返回; 2. 当按下Esc键(`keyCode`为27)时,函数重置选中的文本并返回; 3. 当按下空格键(`keyCode`为8)时,函数删除选中文本的最后一个字符。 此外,如果事件不可逆且绑定有`onchange`事件,函数会继续执行相关操作。
function catch_keydown(sel){
switch(event.keyCode) {
case 13: //回车键
event.returnValue=false;
break;
case 27: //Esc键
sel.options[sel.selectedIndex].text=oldText;
sel.options[sel.selectedIndex].value=oldValue;
event.returnValue=false;
break;
case 8: //空格健
var s=sel.options[sel.selectedIndex].text;
s=s.substr(0,s.length-1);
if (sel.options[0].value==sel.options[sel.selectedIndex].text){
sel.options[sel.selectedIndex].value=s;
sel.options[sel.selectedIndex].text=s;
}
event.returnValue=false;
break;
}
if (!event.returnValue && sel.onchange)
sel.onchange(sel)
}
switch(event.keyCode) {
case 13: //回车键
event.returnValue=false;
break;
case 27: //Esc键
sel.options[sel.selectedIndex].text=oldText;
sel.options[sel.selectedIndex].value=oldValue;
event.returnValue=false;
break;
case 8: //空格健
var s=sel.options[sel.selectedIndex].text;
s=s.substr(0,s.length-1);
if (sel.options[0].value==sel.options[sel.selectedIndex].text){
sel.options[sel.selectedIndex].value=s;
sel.options[sel.selectedIndex].text=s;
}
event.returnValue=false;
break;
}
if (!event.returnValue && sel.onchange)
sel.onchange(sel)
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。