中的JavaScript你從第一codepen使用被禁用的原select
,並用div
和ul
這是一起工作的一些select
樣的行爲取代它。
打開一個元素檢查證實了這一點,顯示了DOM看起來像下面這樣:
<div class="select">
<select class="select-hidden" id="animal">
<option disabled="" selected="" value="hide">Animal</option>
<option value="all animals">[All]</option>
<option value="chickens">Chickens</option>
<option value="wolves">Wolves</option>
</select>
<div class="select-styled">Chickens</div>
<ul class="select-options" style="display: none;">
<li rel="hide">Animal</li>
<li rel="all animals">[All]</li>
<li rel="chickens">Chickens</li>
<li rel="wolves">Wolves</li>
</ul>
</div>
你d3.select('select')
正確捕捉select
,但change
事件從來沒有發射,因爲select
是永遠不會改變。相反,您可以將change
事件連接到div#select-styled
元素,或者您可以更新Wallace Erick中的JavaScript以更新禁用,只要更新div#styled-select
,就會隱藏select
。
你能提供你使用這個自定義選擇菜單的代碼嗎?查看你的問題的[創建最小,完整,可驗證示例的指南](https://stackoverflow.com/help/mcve)。 –
Codepen添加了!謝謝。 –