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

相关文章
|
7月前
|
JavaScript
jq样式、元素操作,效果,筛选方法与转换,事件对象
jq样式、元素操作,效果,筛选方法与转换,事件对象
|
8月前
element-plus:el-table自定义展开图标处于列的位置
element-plus:el-table自定义展开图标处于列的位置
299 0
|
8天前
|
JavaScript
Element_select 选择器 选中框中显示不了选中的值
解决Vue中`el-select`选择器不显示选中值的问题:在`selectChanged`方法中添加`this.$forceUpdate()`,强制组件更新,使输入框显示选择的值。示例代码包括模板和方法。
|
5月前
|
JavaScript
checkbox选中和取消,控制dom元素颜色变化
checkbox选中和取消,控制dom元素颜色变化
26 0
javascrip 修改元素属性 - 切换图片
javascrip 修改元素属性 - 切换图片
58 0
javascrip 修改元素属性 - 切换图片
|
JavaScript 前端开发
jquery设置cursor的属性改变光标的类型(形状)
jquery设置cursor的属性改变光标的类型(形状)
绑定元素属性改变不通知界面
原文:绑定元素属性改变不通知界面 情景假设:绑定的是一个Point,当Point的X或者Y属性发生改变时,绑定的点也随界面改变 此时界面不会发生改变 原因:当X或者Y属性发生改变时并没有触发Point的Set方法   1 2 3 ...
596 0
|
JavaScript
jquery操作radio单选按钮,实现取值,动态选中,动态删除的各种方法
  本文主要讲的是在jquery里操作表单radio单选按钮的各种方法,如获取选中的radio的值,动态选中指定的radio项等。 1.获取选中的radio单选按钮的值: var v=$(":radio[name='aijquery']:checked").
1560 0