問題描述:
開發一個需求,在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做了不可選操作