如果我有幾個同名的單選按鈕,任何時候只能選擇一個。當一個人被選中時,任何名字都會失去他們的選擇。我很感興趣,爲什麼這不構成jQuery的.change()
事件。爲什麼jQuery .change()不會觸發單選按鈕因選擇同名而被取消選中?
對$.change()
函數進行黑客攻擊會非常激烈,但這似乎沒有被報告爲一個錯誤 - 所以我有興趣找出原因並非如此。
測試如下:我希望在選擇收音機時觸發兩個更改事件,但事實並非如此。
這裏是例子:http://jsfiddle.net/XzmmW/
如果我有幾個同名的單選按鈕,任何時候只能選擇一個。當一個人被選中時,任何名字都會失去他們的選擇。我很感興趣,爲什麼這不構成jQuery的.change()
事件。爲什麼jQuery .change()不會觸發單選按鈕因選擇同名而被取消選中?
對$.change()
函數進行黑客攻擊會非常激烈,但這似乎沒有被報告爲一個錯誤 - 所以我有興趣找出原因並非如此。
測試如下:我希望在選擇收音機時觸發兩個更改事件,但事實並非如此。
這裏是例子:http://jsfiddle.net/XzmmW/
如果您認爲一組像select
元素單選按鈕的,很明顯爲什麼不需要爲取消選中的單選按鈕啓動更改事件。
當您更改select
元素中的選定選項時,您將獲得一個更改事件(您不會期望其他任何事件),而不是一個用於先前選擇的選項,另一個用於新選擇的選項。
正如已經提到的那樣,當一個單選按鈕被選中時,同一組中沒有其他人可以成爲其他人,因此發起第二個更改事件將是多餘的。
另請注意,這不是特定於jQuery--標準JavaScript更改事件的工作方式完全相同。
只有1更改事件...你從「舊的選擇」到「新選擇」的改變。請注意,雖然您有多個「元素」,但它們都是表單元素的相同表單元素(由name
屬性定義)。
沒有必要在一組命名火每個單選按鈕的事件,當選擇一個你知道別人是不是選擇