当选择了任何单选按钮时,我需要一个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", "" );
}
});
但它没有用?
我做错了什么或有更好的解决方案?
我需要移除不透明度,以便完全可见。
修改
这是一个小提琴:
答案 0 :(得分:0)
将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)
...
});
答案 1 :(得分:0)
通过.css("pointer-events", "");
您正在恢复CSS中描述的指针事件(即无),因此请更好地使用.css("pointer-events", "auto");
。
答案 2 :(得分:0)
试试这个:
$(function() {
if ( $('input:radio:checked').length > 0 ) {
$( '#packages-and-payment' ).css( "opacity", "1" );
$( '#packages-and-payment' ).css( "pointer-events", "auto" );
}
});