改变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;">  

相关文章
element-plus:el-table自定义展开图标处于列的位置
element-plus:el-table自定义展开图标处于列的位置
801 0
|
7月前
Element UI【实战范例】下拉选择 el-select 的 change 事件传入选中值+自定义参数
Element UI【实战范例】下拉选择 el-select 的 change 事件传入选中值+自定义参数
1111 1
|
9月前
|
XML JSON 移动开发
BpmnJS 元素属性的updateProperties 和updateModdleProperties的属性更新区别
BpmnJS 元素属性的updateProperties 和updateModdleProperties的属性更新区别
354 1
|
JavaScript
Vue中解决v-show & 三目表达式 判断后中的值改变,但视图不刷新问题。
Vue中解决v-show & 三目表达式 判断后中的值改变,但视图不刷新问题。
|
JavaScript 前端开发
jquery设置cursor的属性改变光标的类型(形状)
jquery设置cursor的属性改变光标的类型(形状)
|
前端开发
CSS样式更改——裁剪、Z-Index、清除、改变元素的特性
CSS样式更改——裁剪、Z-Index、清除、改变元素的特性
191 0
|
C#
C# ListBox实现显示插入最新的数据的方法
原文:C# ListBox实现显示插入最新的数据的方法 在我们使用ListBox控件时,如果我们在里面不断的添加一条条数据,但是在我们添加的数据过多超过了ListBox显示的窗口时(此时会产生滑动条), 发现我们无法看到最新添加的数据。
1753 0
绑定元素属性改变不通知界面
原文:绑定元素属性改变不通知界面 情景假设:绑定的是一个Point,当Point的X或者Y属性发生改变时,绑定的点也随界面改变 此时界面不会发生改变 原因:当X或者Y属性发生改变时并没有触发Point的Set方法   1 2 3 ...
627 0
|
程序员
错误:“ResourceDictionary”根元素需要 x:Class 特性来支持 XAML 文件中的事件处理程序。请移除 MouseLeftButtonDown 事件的事件处理程序.
原文:错误:“ResourceDictionary”根元素需要 x:Class 特性来支持 XAML 文件中的事件处理程序。请移除 MouseLeftButtonDown 事件的事件处理程序. 转载于(https://social.
2456 0

热门文章

最新文章