最近在寫(xiě)一個(gè)表單提交時(shí)遇到了一個(gè)很神奇的bug,input標(biāo)簽的點(diǎn)擊事件不響應(yīng)了,這是為什么?onclick事件這么常用,怎么就失效了呢?
這是我的表單頁(yè)面

表單頁(yè)面
可是怎么都點(diǎn)擊不了選擇咨詢類別,真是令我百思不得其解

HTML

JS
檢查了半天代碼,似乎也并沒(méi)有什么錯(cuò)誤
好吧,看來(lái)只能百度,百度不行繼續(xù)Google,最終在stackoverflow上找到了答案,原來(lái)是因?yàn)?input標(biāo)簽的id和onclick事件調(diào)用的方法不能同名,而我都寫(xiě)成了chooseType

input id 和 onclick 調(diào)用的方法名相同
那么我們把onclick調(diào)用的方法名換一換,看看是不是就可以解決了

onclick調(diào)用的方法名改成chooseTypeFun

JS

搞定
為什么會(huì)出現(xiàn)這樣的狀況呢?我個(gè)人的推測(cè)是因?yàn)楫?dāng)用戶點(diǎn)擊input標(biāo)簽時(shí)想輸入內(nèi)容時(shí),已經(jīng)觸發(fā)了一個(gè)同名的方法來(lái)將游覽器的焦點(diǎn)集中在input標(biāo)簽上,而此時(shí)如果你調(diào)用一個(gè)和input id相同的方法,游覽器便不知道你到底是需要調(diào)用哪一個(gè)方法而默認(rèn)調(diào)用往input標(biāo)簽輸入內(nèi)容的那個(gè)
不過(guò)我想最完美的解決辦法還是用jQuery為input標(biāo)簽綁定點(diǎn)擊事件吧,畢竟在有的情況下,HTML自帶的onclick事件是會(huì)失效的