文章摘要
这篇文章介绍了JavaScript中使用`catch_keydown`函数处理键盘事件的代码实现。文章详细描述了如何通过`switch`语句处理三种常见的键盘事件:回车键(`13`)、Esc键(`27`)和空格键(`8`)。
- 回车键(`13`):触发事件返回默认值,不执行`sel.onchange`操作。
- Esc键(`27`):重置选中文本和值。
- 空格键(`8`):删除选中文本前的空格,并更新选中文本和值。
文章重点在于展示JavaScript在处理键盘事件时的逻辑实现,帮助读者理解事件处理的基本原理。
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)
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。