【发布时间】:2014-03-29 05:13:55
【问题描述】:
这是我的 HTML
<div class="test" onclick="this.querySelector('.rad').checked=true;">
<input type="radio" class="rad" name="rad" />
<div>hello</div>
</div>
<div class="test">
<input type="radio" class="rad" name="rad" />
<div>hello1</div>
</div>
CSS
.test input:checked ~ div {
color: #3498DB !important;
}
这在桌面浏览器和用户代理中都可以正常工作,但是当我在 Android 设备上对其进行测试时,它无法正常工作。 Android 4.0+ 中的测试版本。有人请告诉我如何解决这个问题?
注意:使用onclick而不是ontouchend来发布代码here
【问题讨论】:
-
@Mr.Alien 根据您的建议,我已经尝试过
+,它在 Android 4+ 设备上运行良好。 @Fabrizio 该代码在 Android 4+ 设备上运行良好。我不确定 2 和 3 :) -
@redV 取消删除我的答案,因为我不确定
-
@redV,与你的css无关,但如果你能给你的收音机一个id,你可以将输入和div包装在一个标签中,然后你就不需要使用js来检查单击包装器时的收音机:jsfiddle.net/6y7Jy
-
@Pete 这是一个有效的点。但要提一下,label for 将在单击时执行,默认情况下,单选按钮将在 300 毫秒延迟后被选中。所以,我更喜欢 ontouchend 而不是 label :) 但绝对是有效的。
标签: html css css-selectors