实现select标签只读的几种方法

1、  disabled属性,但是加上这个属性之后提交表单的时候select标签取不到值,所以在提交表单前需要去掉这个属性,$("#role").removeAttr("disabled");

2、  在select标签中加上onclick事件和onmousedown事件。(οnclick="return false;" οnmοusedοwn="return false;")。"return false"表示阻止浏览事件的默认处因为onclick包括按下和松开,单独只有onclick,只要按下就会触发事件,所以要加上onmousedown,onmousedown 属性在鼠在元素上按下

3、  给select标签加上css样式(pointer-events: none;)。none——元素永远不会成为鼠标事件的target(目标)。但是,当其后代元素的pointer-events属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶段触发父元素的事件侦听器。实际上默认就可以穿透当前层,因为pointer-events默认为auto。但是这种方法不知道为什么,在win8系统下,同样用ie11就不好使,没找到原因。有大佬如果知道请不吝赐教,先谢谢啦。

4、  还有一种下拉框可以下拉,但是选不上值。(οnfοcus="this.defaultIndex=this.selectedIndex;" οnchange="this.selectedIndex=this.defaultIndex;")

发布了6 篇原创文章 · 获赞 0 · 访问量 1547

猜你喜欢

转载自blog.csdn.net/kikumaru714/article/details/104324891