2012-05-14 58 views
-1

我有兩個jQuery的版本測試下面的代碼:1.5.1和1.7.2

$(':radio').change(function(){alert(1)}); 

它工作在老的jQuery而不是新的。爲什麼我必須在新版本中使用.click()

瀏覽器:Chrome瀏覽器18

+4

請創建jsfiddle.net測試案例,演示你的說法。 – Alnitak

+1

它適合我 - http://jsfiddle.net/alnitak/zsMAX/ – Alnitak

+0

你也試過'[type =「radio」]'?它應該是一個更快的選擇器,因爲它可以在QSA中使用 - > http://api.jquery.com/radio-selector/ – GNi33

回答

4

它爲我的作品:

<input type="radio" name="foo" value="1" checked /> Radio 1 <br/> 
<input type="radio" name="foo" value="2"/> Radio 2 <br/> 

<script> 
$(function() { 
    $(':radio').change(function() { 
     alert(this.value); 
    });​ 
}); 
</script> 

http://jsfiddle.net/alnitak/zsMAX/被設置爲使用jQuery 1.7.2

+0

是的,它適用於jsfiddle。我在這裏閱讀了幾個問題,每個人都建議使用.click()而不是.change()。我將嘗試追查爲什麼jQuery版本會影響我的代碼。 – Andrei

+2

@Andrei。誰是「大家」?它完全一樣......無論如何,它可能與'.attr()'V.S.相關。 '.prop()' – gdoron

+0

我在頁面上有很多插件和自己的代碼。我猜有些干擾。這有點奇怪,jQuery版本會影響這個@ gdoron這個 – Andrei

相關問題