2012-02-09 217 views
2

是否可以在單擊單選按鈕時禁用正在執行的標準操作? (沒有「禁用」屬性)jQuery - 點擊單選按鈕()

所以,當我點擊特定的單選按鈕,沒有任何反應。嘗試.unbind('點擊'),但似乎並沒有工作。

泰提前幫助

回答

4

可以使用preventDefault()方法由event對象公開:

$("input:radio").click(function(e) { 
    e.preventDefault(); 
}); 

編輯:不幸的是,這似乎並沒有阻止瀏覽器檢查首先點擊的單選按鈕(js小提琴處於「緊急只讀」模式,所以我現在無法發佈演示)。

+0

我不相信它是「jQuery's」,它是內置於事件處理程序中的語言。 – jondavidjohn 2012-02-09 15:05:56

+0

@jondavidjohn,真的,它是DOM級別2的一部分。回答更新,謝謝:) – 2012-02-09 15:11:33

1

這應該工作:

$('#myradio').click(function(e) { 
    e.preventDefault(); 
    return false; 
}); 
+0

是什麼'的preventDefault()'的原因是什麼?據我測試'return false;'在這種情況下就足夠了。 – KillerX 2012-02-09 15:05:52

1

只要試試這個。

$('input:radio').click(function(e){ 
    e.preventDefault(); 
}); 

Demo

1

你可以試試這個,這將停止傳播:

$("#my-radio-btn").live("click", function(e){ 
    e.preventDefault(); 
}); 
0

你需要在你給jQuery的點擊功能使用event.disableDefault。

$("#my_element").click(
function(event) { 
event.preventDefault(); 
// the rest of your code goes here 
} 
); 
+0

什麼是disableDefault? – techfoobar 2012-02-10 17:09:44

+0

對不起(現在也晚了),我的意思是preventDefault(),你可以在我提供的代碼中看到。 – 2012-05-29 13:55:15

1

實際上,第一次點擊收音機,選中的屬性被設置,因此它顯示爲在瀏覽器中檢查(最短的時間)。

所以這段代碼就能解決問題

[我使用jQuery庫]

$('input:radio').click(function(){ 
$(this).prop('checked',false); 
e.preventDefault(); 
return false; 
});