|
select下拉框的onkeydown事件,修改下拉框的值- 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)
- }
复制代码 select下拉框的onkeypress事件,修改下拉框的值- function catch_press(sel){
- if(sel.selectedIndex>=0){
- var s = sel.options[sel.selectedIndex].text + String.fromCharCode(event.keyCode);
- if (sel.options[sel.selectedIndex].value==sel.options[sel.selectedIndex].text){
- sel.options[sel.selectedIndex].value=s;
- sel.options[sel.selectedIndex].text=s;
- }
- event.returnValue = false;
- if (!event.returnValue && sel.onchange)
- sel.onchange(sel)
- }
- }
复制代码 select下拉框的onfocus事件,保存下拉框原来的值- function catch_focus(sel) {
- oldText = sel.options[sel.selectedIndex].value;
- oldValue = sel.options[sel.selectedIndex].value;
- }
复制代码 使用方法- <!--调用-->
- <select style='width:130px;z-index:-1' name='tmpSel' onkeydown=catch_keydown(this) onkeypress=catch_press(this) onfocus=catch_focus(this)>
- <option value=''></option>
- <option value=''>A</option>
- <option value=''>B</option>
- <option value=''>C</option>
- </select>
复制代码 到此这篇关于js select支持手动输入功能实现代码的文章就介绍到这了,更多相关js select 手动输入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://www.jb51.net/javascript/284424srg.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|