如何禁用单击单选按钮而不在JQuery中禁用它?

时间:2015-05-13 07:36:09

标签: javascript jquery html

要求: 我想使用JQuery'禁用单击一个单选按钮'。单击之前,单选按钮将被检查。

条件

1)禁用属性不应设置为true。意味着我们不能通过单选按钮对其进行单击禁用。

2)如果用户点击该单选按钮,则不应取消选中。

为何要求: 已经为表单中的所有无线电的onClick编写了一个通用JQuery。我希望它不会被特定无线电执行。

因为我无权更改jQuery。 JQuery启用时,在单击无线电时禁用表单上的其他元素。

所以我需要在我的Jquery中处理onload或其他方法。我希望要求很清楚。请帮忙!!

更新: 从答案我创造了三个小提琴,但没有工作。

1) https://jsfiddle.net/uhxpmexe/ 
2) https://jsfiddle.net/ry5zqcv7/
3) https://jsfiddle.net/k0gd57ks/

看,如果有人可以贡献更多

5 个答案:

答案 0 :(得分:1)

我想你在问“如何在其他代码(我无权访问)之后从特定单选按钮中删除事件处理程序”将处理程序添加到表单中的所有单选按钮?“

如果这是正确的,您只需将收音机设为id,然后致电:$( "#myRadio").unbind( "click" );

答案 1 :(得分:0)

只需使用event.preventDefault() jsfiddle

即可

答案 2 :(得分:0)

您只需在点击处理程序中返回false:

 $(":radio").click( function(){
         return false;
 });

<强> Working Demo

更新:由于您已经定义了单击处理程序,您需要取消绑定它,然后添加返回false的新单击处理程序:

$("#ba").unbind('click').click( function(){
     return false;
 });

Working Demo

答案 3 :(得分:0)

pointer-events: none;应该做到这一点。使用jQuery中的addClass,您可以随时添加它

.disabled{
    cursor: not-allowed; /* aesthetics */
    pointer-events: none;
}

另请查看:https://css-tricks.com/almanac/properties/p/pointer-events/

答案 4 :(得分:0)

您可以使用此代码禁用单选按钮。

$(".example").attr('disabled','disabled');

如果代码适合您,请告诉我。