2012-02-09 169 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; 
});