<select name="commonNativeLanguage" style="width:150px"
οnkeydοwn="selectEvent('commonNativeLanguage')"
onChange="connectTextLangueCommonNative()"
onmousewheel="return false;">
select 元素的onmousewheel事件即滚轮转时的事件会改变当前选项,并触发onChange事件,通过onmousewheel="return false;" 来屏蔽此事件.
onkeydown是给select 元素加快捷键,上、下键改变当前的选项,按回车将select的值插入一文本域,代码如下。
//select 上键:选择上一下元素,但不触发onchange事件 function selectEvent(elementname){ if(event.keyCode==38 ||event.keyCode==40){ event.returnValue=false; var selectObj=document.indexform[elementname]; var currentIndex=selectObj.selectedIndex; //如果是上键 if(event.keyCode==38 ){ //alert("上键--"+currentIndex); if(currentIndex==0){ return false; }else{ selectObj.options[currentIndex-1].selected=true; return; } } //如果是下键 if(event.keyCode==40 ){ //alert("下键--"+currentIndex+"selectObj.options.length:"+selectObj.options.length); if(currentIndex==selectObj.options.length-1){ return false; }else{ selectObj.options[currentIndex+1].selected=true; return ; } } } //如果是空格键,则把选中的内容添加文本域中 if(event.keyCode==32){ var objName=event.srcElement.name; if(objName=='commonForeignLanguage'){ connectTextLangueCommonForeign(); } } }