這標(biāo)題,讓option支持事件監(jiān)聽,應(yīng)該不難的呀,有什么好講的?
其實還是有的,默認(rèn)在瀏覽器代碼是無法直接對option標(biāo)簽進(jìn)行操作的,不僅包括JS事件監(jiān)聽,還是CSS樣式設(shè)置
查了一些資料,姑且認(rèn)為它是系統(tǒng)OS級別處理的
想自定義option的樣式,很多人會建議用 <ul> <li> 標(biāo)簽來輔助同步操作與值
想對option進(jìn)行事件監(jiān)聽,有一個tip:當(dāng)給select顯示設(shè)置了size 屬性且值 大于1 時,才能監(jiān)聽
近來產(chǎn)品也提了個鼠標(biāo)操作復(fù)制option值的需求,就利用這個size屬性實現(xiàn)一番吧
先看圖
實現(xiàn)小析
因為select的size屬性表示默認(rèn)展示多少個option,并設(shè)置這個高度
不過有了size之后,默認(rèn)select右側(cè)就會出現(xiàn)滾動條式樣,加個 overflow:hidden 處理就行了