Javascript 单击禁用的单选按钮

Javascript 单击禁用的单选按钮,javascript,jquery,html,Javascript,Jquery,Html,我想禁用单选按钮,但在禁用时能够获取单击事件。然后我将单选按钮放在一个div中: <div id="div_radio" display="block"><input type="radio" id="radio"/></div> 您可以在这里尝试: 它是有效的,但是你不能完全点击单选按钮,这就是我的问题。我发现了一些相关的问题,但作为一名html/javascript新手,我可能误解了一些解决方案。您可以在现代浏览器上使用指针事件CSS属性: 您可以在现

我想禁用单选按钮,但在禁用时能够获取单击事件。然后我将单选按钮放在一个div中:

<div id="div_radio" display="block"><input type="radio" id="radio"/></div>
您可以在这里尝试:


它是有效的,但是你不能完全点击单选按钮,这就是我的问题。我发现了一些相关的问题,但作为一名html/javascript新手,我可能误解了一些解决方案。

您可以在现代浏览器上使用
指针事件
CSS属性:


您可以在现代浏览器上使用
指针事件
CSS属性:


您可以在现代浏览器上使用
指针事件
CSS属性:


您可以在现代浏览器上使用
指针事件
CSS属性:




那是什么属性?
display=“block”
只看小提琴而不是你的标记,因为只有一个输入,为什么你要用单选按钮而不是复选框,甚至一个按钮?@MaxArt我不知道,但这并不能改变任何东西来删除它。@StuperUser这只是我真实情况的一个简化示例…你可以从这篇文章中找到你的答案,
display=“block”
属性是什么?只看小提琴而不是你的标记,因为只有一个输入,为什么你要使用单选按钮而不是复选框,或者甚至是一个按钮?@MaxArt我不知道,但这不会改变任何东西来移除它。@StuperUser这只是我真实情况的一个简化示例…你可以从这篇文章中找到你的答案那是什么
display=“block”
属性?只看小提琴而不是你的标记,因为只有一个输入,为什么你要用单选按钮而不是复选框,甚至是按钮?@MaxArt我不知道,但这不会改变任何东西来删除它。@StuberUser这只是我真实情况的一个简单例子……你可以从这篇文章中找到你的答案那是什么
display=“block”
attribute?只看小提琴而不是你的标记,因为只有一个输入,为什么你要使用单选按钮而不是复选框,甚至是按钮?@MaxArt我不知道,但这并不能改变任何东西来删除它。@StuperUser这只是我真实情况的一个简化示例…你可以从这篇文章中找到你的答案,我猜我根本不理解这个问题。我以为OP只希望单击收音机本身的事件。@andyb实际上,OP希望单击已禁用的单选按钮仍能传播到其父项DIVYes@andyb,当收音机被禁用时,这是不可能的。比较我的JSFIDLE和A.Wolff的JSFIDLE。是的,谢谢,我现在理解了这个问题。我认为这是唯一的办法。即使是
z-index
'd覆盖也无法工作,因为浏览器本身会停止禁用控件上的鼠标事件。甚至不能在中的禁用元素上单击鼠标右键Chrome@andyb对于完整的浏览器支持,方法是在禁用单选按钮时将元素放在单选按钮的前面。这是另一种可能性。我想我根本不理解这个问题。我以为OP只希望单击收音机本身的事件。@andyb实际上,OP希望单击已禁用的单选按钮仍能传播到其父项DIVYes@andyb,当收音机被禁用时,这是不可能的。比较我的JSFIDLE和A.Wolff的JSFIDLE。是的,谢谢,我现在理解了这个问题。我认为这是唯一的办法。即使是
z-index
'd覆盖也无法工作,因为浏览器本身会停止禁用控件上的鼠标事件。甚至不能在中的禁用元素上单击鼠标右键Chrome@andyb对于完整的浏览器支持,方法是在禁用单选按钮时将元素放在单选按钮的前面。这是另一种可能性。我想我根本不理解这个问题。我以为OP只希望单击收音机本身的事件。@andyb实际上,OP希望单击已禁用的单选按钮仍能传播到其父项DIVYes@andyb,当收音机被禁用时,这是不可能的。比较我的JSFIDLE和A.Wolff的JSFIDLE。是的,谢谢,我现在理解了这个问题。我认为这是唯一的办法。即使是
z-index
'd覆盖也无法工作,因为浏览器本身会停止禁用控件上的鼠标事件。甚至不能在中的禁用元素上单击鼠标右键Chrome@andyb对于完整的浏览器支持,方法是在禁用单选按钮时将元素放在单选按钮的前面。这是另一种可能性。我想我根本不理解这个问题。我以为OP只希望单击收音机本身的事件。@andyb实际上,OP希望单击已禁用的单选按钮仍能传播到其父项DIVYes@andyb,当收音机被禁用时,这是不可能的。比较我的JSFIDLE和A.Wolff的JSFIDLE。是的,谢谢,我现在理解了这个问题。我认为这是唯一的办法。即使是
z-index
'd覆盖也无法工作,因为浏览器本身会停止禁用控件上的鼠标事件。甚至不能在中的禁用元素上单击鼠标右键Chrome@andyb对于完整的浏览器支持,方法是在禁用单选按钮时将元素放在单选按钮的前面。这是另一种可能性。
$("#div_radio").click(function(){
  $(this).hide();
});
$("#button").click(function(){
  $("#radio").prop('disabled',true).css('pointer-events','none');
});