改变select元素原来的事件属性,并加快捷键

简介:
Js代码   收藏代码
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
  2. <HTML>  
  3.  <HEAD>  
  4.   <TITLE> New Document </TITLE>  
  5.   <META NAME="Generator" CONTENT="EditPlus">  
  6.   <META NAME="Author" CONTENT="">  
  7.   <META NAME="Keywords" CONTENT="">  
  8.   <META NAME="Description" CONTENT="">  
  9.   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">   
  10. <script language="javascript">  
  11.     //将选择的select元素的值追加到输入框中原来数据的后面  
  12. function connectSex(){  
  13.     var sexTextObj=document.form1.sexText;  
  14.     var sexObj=document.form1.sex;  
  15.     var sexValue=sexObj.options[sexObj.selectedIndex].value;  
  16.     if(sexTextObj.value=="" || sexTextObj.value==null){  
  17.         sexTextObj.value=sexValue;  
  18.         }else{  
  19.             sexTextObj.value=sexTextObj.value+"、"+sexValue;  
  20.             }  
  21.     }  
  22.   
  23. //目的在于学习如何屏蔽HTML元素原来已经有的事件,建立新的事件  
  24. function selectEvent(){  
  25.     if(event.keyCode==38 ||event.keyCode==40){  
  26.         //使HTML元素原来默认的事件失效  
  27.           event.returnValue=false;   
  28.             var selectObj=document.form1.sex;  
  29.         var currentIndex=selectObj.selectedIndex;  
  30.           //如果是上键:只是选中  
  31.           if(event.keyCode==38 ){  
  32.             //alert("上键--"+currentIndex);  
  33.             if(currentIndex==0){  
  34.                 return false;  
  35.                 }else{  
  36.                     selectObj.options[currentIndex-1].selected=true;  
  37.                     return;  
  38.                     }             
  39.             }  
  40.            //如果是下键  
  41.           if(event.keyCode==40 ){  
  42.                 //alert("下键--"+currentIndex+"selectObj.options.length:"+selectObj.options.length);  
  43.             if(currentIndex==selectObj.options.length-1){  
  44.                 return false;  
  45.                 }else{  
  46.                     selectObj.options[1].selected=true;  
  47.                     return ;  
  48.                     }             
  49.             }  
  50.         }  
  51.         //如果是空格键,则把选中的内容添加文本域中  
  52.         if(event.keyCode==32){  
  53.             connectSex();  
  54.             }  
  55.     }  
  56.     </script>  
  57.  </HEAD>  
  58.   
  59.  <BODY>  
  60.   <form method="post" name="form1" action="">  
  61.    <input type="text" name="text1" value="text1"/>  
  62.    <input type="text" name="text2" value="text2"/><br/>  
  63.    <select name="sex" onChange="connectSex()" onkeydown="selectEvent()">  
  64.     <option value="girl">女</option>       
  65.     <option value="boy">男</option>  
  66.   </select>  
  67.     <!--Tab键会自动跳过hidden类的控件-->  
  68.    <input type="hidden" name="text3" value="text3">  
  69.    <input type="text" name="sexText" value=""/>  
  70.      
  71.   </form>  
  72.  </BODY>  
  73. </HTML>  
 

select 元素的onmousewheel事件即滚轮转时的事件会改变当前选项,并触发onChange事件,通过onmousewheel="return false;" 来屏蔽此事件.

onkeydown是给select 元素加快捷键,上、下键改变当前的选项,按回车将select的值插入一文本域,代码如下。

Html代码   收藏代码
  1. <select name="commonNativeLanguage" style="width:150px"  
  2. onkeydown="selectEvent('commonNativeLanguage')"  
  3. onChange="connectTextLangueCommonNative()"  
  4. onmousewheel="return false;">  

相关文章
|
Ubuntu Linux pouch
Docker容器管理工具
文章介绍了Docker容器管理工具,以及早期使用的LXC容器管理工具,包括它们的安装、使用和相关技术特点。
295 10
Docker容器管理工具
|
算法 计算机视觉
图像处理之错切变换
图像处理之错切变换
373 1
|
JSON Java API
jjwt使用说明-笔记
这篇文章介绍了如何使用jjwt库在Java中生成和验证JSON Web Tokens (JWT)。文章提供了在Maven项目中添加jjwt依赖的步骤,生成token的方法,以及如何验证token的示例代码。此外,还包含了一些关于token标准载荷和自定义载荷的说明,以及如何处理token验证过程中可能遇到的异常。
jjwt使用说明-笔记
|
12月前
|
机器学习/深度学习 人工智能 分布式计算
MaxFrame产品评测报告
MaxFrame产品评测报告
162 22
|
数据采集 机器学习/深度学习 Java
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
本文介绍了如何使用Java和Apache HttpComponents库从Facebook获取图像数据。通过设置爬虫代理IP以避免限制,利用HttpClient发送请求,解析HTML找到图像链接,然后下载并保存图片。提供的Java代码示例展示了实现过程,包括创建代理配置、线程池,以及下载图片的逻辑。注意,实际应用需根据Facebook页面结构进行调整。
336 6
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
|
SQL Oracle 关系型数据库
数据库——查询所有表及其数据总条数
数据库——查询所有表及其数据总条数
|
存储 算法 C语言
数据结构学习笔记——串的基本知识以及顺序存储结构实现串
数据结构学习笔记——串的基本知识以及顺序存储结构实现串
数据结构学习笔记——串的基本知识以及顺序存储结构实现串
|
人工智能 编解码 图形学
用AI干掉原画师创意无限延伸
用AI干掉原画师创意无限延伸
190 0
|
存储 Python
题库高效练习
题库高效练习
194 0
题库高效练习
|
人工智能 自然语言处理 达摩院
给B类设计师:服务好合作伙伴,掌握新的营收密码
作者:达摩院设计-砥七刚开始做B类产品的设计师,可能会遇到这样的情况:基于前人的基础控件疯狂拼装B类产品功能,搭建出无数个功能,然后……设计师拼着拼着就累了。B类产品大多PaaS化(以服务器平台作为一种服务提供的商业模式)输出,提供开发接口给客户,然后……设计师对“开发接口”做不了事情。B类产品往往看营收,看商业模式,围绕B类产品的设计,好像和“营收”这件事很远,然后……设计师看营收就跟望天一样。
243 1
给B类设计师:服务好合作伙伴,掌握新的营收密码