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

<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();
					} 
			}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值