文本框有readonly属性,直接设置;下拉框没有readonly属性,也不能通过其他属性进行只读的设置,下拉框只有disabled属性,但是这个属性设成true之后,值就获取不到了;
网上搜了一下,大部分是控制鼠标、键盘事件,来控制只读的(即:不让下拉框获取焦点)
代码如下:
<span onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" onfocus="this.blur();"> <select > <option>1 </option> <option selected>2 </option> </select> </span>
其中onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" 屏蔽了鼠标事件,
onfocus="this.blur();"屏蔽了键盘事件,onfocus="this.blur();"表示该对象将获得焦点时就让它失去焦点,按键盘的TAB键时跳过它,使下一个控件获得焦点。
方法二:
其实也可以通过锁定下拉框的值,来控制(另外,顺便添加了一个灰色的背景色)
代码如下:
<script> var hxj="field6161"; var hxj_index=document.getElementById(hxj).selectedIndex; jQuery(document).ready(function() { setSelectRead(hxj,hxj_index); }); function setSelectRead(field_r,param){ var obj=document.getElementById(field_r); jQuery("#"+field_r).css("background-color","#DCDCDC"); jQuery("#"+field_r).bind("click",function(){ this.selectedIndex =param; }); ) </script>
如对本文有疑问, 点击进行留言回复!!
2020-07-21 html5如何监听veido的全屏 + css的字体间距 + JS的window.open() + 软技能svn与git
html+css+js适合前端小白的实战全解(超详细)——2048小游戏(二)
在使用@angular/cli创建的angular项目上添加postcss等一系列移动端自适应插件
网友评论