【发布时间】:2023-03-05 14:15:01
【问题描述】:
是否可以在单击单选按钮时禁用正在执行的标准操作? (没有“禁用”属性)
所以当我点击特定的单选按钮时,什么也没有发生。尝试了 .unbind('click') 但似乎不起作用。
提前求助
【问题讨论】:
标签: javascript jquery forms
是否可以在单击单选按钮时禁用正在执行的标准操作? (没有“禁用”属性)
所以当我点击特定的单选按钮时,什么也没有发生。尝试了 .unbind('click') 但似乎不起作用。
提前求助
【问题讨论】:
标签: javascript jquery forms
你可以使用event对象暴露的preventDefault()方法:
$("input:radio").click(function(e) {
e.preventDefault();
});
编辑:不幸的是,这似乎并没有阻止浏览器检查首先单击的单选按钮(jsFiddle 处于“紧急只读”模式,所以我无法发布演示现在)。
【讨论】:
这应该可行:
$('#myradio').click(function(e) {
e.preventDefault();
return false;
});
【讨论】:
preventDefault()的原因是什么?据我测试,return false; 在这种情况下就足够了。
【讨论】:
你可以试试这个,这将停止传播:
$("#my-radio-btn").live("click", function(e){
e.preventDefault();
});
【讨论】:
实际上,当您第一次单击单选时,已设置 checked 属性,因此它在浏览器中显示为已选中(第一次)。
所以这段代码可以解决问题
[我正在使用 jquery 库]
$('input:radio').click(function(){
$(this).prop('checked',false);
e.preventDefault();
return false;
});
【讨论】:
你需要在你给jQuery click的函数中使用event.disableDefault。
$("#my_element").click(
function(event) {
event.preventDefault();
// the rest of your code goes here
}
);
【讨论】: