HTML複選框和單選框 checkbox和radio事件介紹

來源:互聯網
上載者:User

checkbox 和 radio的事件選擇一度讓我很迷惑。

開始以我對js的理解,我覺得change事件應該是最合理的,可惜啊ie下change事件是在改變後焦點離開時才觸發。
後來就用click mousedown等滑鼠事件代替。發現click比mousedown要更完美一些:

radio註冊了click事件以後,神奇的是用鍵盤上的上下左右選擇時,居然會觸發滑鼠事件,滾輪也會觸發,這種神奇的事情在mousedown下面是不會發生的。(webkit不能使用上下左右選擇)
checkbox註冊click事件後,奇蹟再次上演,當我們用空格選中checkbox時,神奇的click事件再次觸發,而mousedown再次與奇蹟擦身而過。(webkit還是不能用空格選擇)

讓我們都用click吧,給這兩位老兄減負吧,不要為了他們先天不足給他們綁定一堆事件了,對於這兩個傢伙click才是萬能的。膜拜一下~~~

在用表單設計調查表時,為了減少使用者的操作,使用選擇框是一個好主意,在HTML的<input>標記中有兩種選擇框,即單選框和複選框,兩者的區別是單選框中的選項使用者只能選擇一項,而複選框中的選項使用者可以任意選擇多項,甚至全選。請看下面的例子:

下面給出這個例子的原始碼,結合代碼來講各參數的設定:
<form name="form1" >
你是否喜歡旅遊?請選擇:
複製代碼 代碼如下:
<input type="radio" name="radiobutton" value="radiobutton" checked> 喜歡
<input type="radio" name="radiobutton" value="radiobutton"> 不喜歡
<input type="radio" name="radiobutton" value="radiobutton"> 無所謂<br>

您對那些運動感興趣,請選擇:
複製代碼 代碼如下:
<input type="checkbox" name="checkbox1" value="checkbox"> 跑步
<input type="checkbox" name="checkbox2" value="checkbox"> 打球
<input type="checkbox" name="checkbox3" value="checkbox"> 登山
<input type="checkbox" name="checkbox4" value="checkbox"> 健美<br>
</form>


從上面的原始碼中可看出,製作單選框只要把<input>標記的type參數設定為type="radio"就行了;而製作複選框則只要把<input>標記的type參數設定為type="checkbox"就行了。至於實際應用中用那種選擇框,要根據實際需要而定。若只需使用者有一種選擇的,就用單選框,如本例中“你是否喜歡旅遊?”這個問題,使用者只能是一種選擇,所以採用了單選框;若允許使用者有多項選擇的內容,則採用複選框,如本例中的“你對那些運動感興趣?”這個問題,因一個人的興趣可能是多方面的,所以採用了複選框。

在<input>標記中設定checked參數,則該選框就被預設選中。如本例的第一個單選框(“喜歡”下面那個單選框)就設定為預設選中,這樣使用者若是想選擇“喜歡”的話,就可以不用再選了,當然,若使用者要選擇了“不喜歡”,則只要點擊“不喜歡”下的那單選框,而預設值被自動取消。用同樣的方法也可以設定某個複選框為預設被選中。但是複選框的預設選中不可濫用,否則會引起使用者的反感。

在radio裡面千萬要注意記得把所有的<input type='radio'>這個對象的name屬性都設定成相同的,比如說上例的 name="radiobutton" ,記住不是ID屬性,只有這樣才能實現單選的效果,不然的話上面例子的‘喜歡'、‘不喜歡'、‘無所謂'就可以同時選上了,切記!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.