问题描述:
开发一个需求,在select下要求点击进来就将期中的某一项option不可选,主义是在onchange事件触发前,开始考虑用到onclick、onfocus这两个事件,在其他浏览器都是没问题的,可以直接 $ (‘select ‘).children(‘option[value="’+val+’"]’).prop(‘disabled’,true),都是没有问题的,但是ie下有问题,查询得知ie8及以前的版本,option不支持 disabled 属性(我的ie11),但是我的ie也有问题。
- 问题一:onclick()事件,会造成下拉框点击后,迅速收缩,再次点击还是会收缩
- 问题二:onfocus()事件,会造成下拉框需要点击两次才能正常显示。
解决方案:
各种尝试都是在这两个方法上,没有结果。最后更换**onmouseover()**事件,当鼠标以上select就触发事件,利用 $ (‘select ‘).children(‘option[value="’+val+’"]’).prop(‘disabled’,true),这样再次点击就能正常打开select框,并且打开时也对相应的option做了不可选操作