要做一個點擊radio,觸發相應事件的js。
可是radio的點擊面積太小,為了擴大它的點擊面積,給它外層套了個label。
發現問題了?
怎么點label的區域都選中不了radio,只有label里面有文字了,點擊才行.
解決辦法:
給label加個透明的背景圖,上面的問題就可以解決了。
現在呢,可點擊的問題是解決。
又出現了新的問題?
在觸發的事件中加了alert(),才發現alert()竟然執行了兩次。
思考?
百思不得其解,代碼里也沒讓它運行兩次呀,百度搜了下,發現有網友說label會內部觸發 onclick選中radio的事,果斷嘗試。
調用相關的函數后,加了個return false;阻止默認事件,發現alert()只執行一次了,但是radio再點擊的時候卻沒有選中了,也就是阻止了label自動加onclick的事件。
解決辦法:
不用label,用其它的標簽代替,在點擊的時候,讓當前的標簽下的radio的checked為true。這樣就可以了