选择任何单选按钮后,我需要div失去其样式。
当前样式为:
#packages-and-payment{
opacity: 0.4;
pointer-events:none;
}
我需要除去不透明性,并且指针事件才能再次起作用。我一直在jQuery中尝试此操作:
$(function() {
if ( $('input:radio:checked').length > 0 ) {
$( '#packages-and-payment' ).css( "opacity", "0" );
$( '#packages-and-payment' ).css( "pointer-events", "" );
}
});
但是它不起作用吗?
我做错了什么,还是有更好的解决方案?
我需要去除不透明性,以便完全可见。
编辑
这是一个小提琴:
http://jsfiddle.net/t9edq74u/
最佳答案
将opacity
设置为0将使该元素完全不可见。如果要使其可见,则需要将不透明度设置为1:
$( '#packages-and-payment' ).css( "opacity", "1" );
同样地,将
pointer-events
属性重置为其初始值,您需要将其设置为“自动”(实际上,将其设置为“”等同于将其设置为false
,这被解释为“无”)。 ):$( '#packages-and-payment' ).css( "pointer-events", "auto" );
同时设置两者的更好的方法是将对象传递给jQuery的
css()
方法:$( '#packages-and-payment' ).css({
opacity: 1,
pointerEvents: 'auto'
});
要在选中单选按钮时触发此操作,您需要使用事件处理程序:
$('input:radio').on('change', function() {
if ($('input:radio:checked').length > 0)
...
});