我很难调试此问题,但基本上我有很多复选框,看起来都像以下示例:
<div class="column">
<input id="radio-10" type="radio" class="radio-custom" value="3">
<label for="radio-10" class="radio-custom-label"><br>
<p>Long time employed by the same employer</p></label>
</div>
在Chrome的模拟器中,如果我单击它,它可以正常工作。在桌面上,如果我单击它,它可以正常工作(检查框)。在实际的iPhone上,您的复选框永远不会获得检查。
这里有什么突出的吗?或类似的问题。
也不确定它是否重要(因为它在桌面和仿真器上工作,但不是移动器),这些都是用vue.js的动态创建的:
<li v-for="(question, questionIndex) in questions">
<h2>{{ question.question }}</h2>
<div class="columns">
<div class="column" v-for="(answer, index) in question.answers">
<input
:id=" 'radio-' + answer.id"
:value='answer.points'
class="radio-custom"
v-model.number="chosen[ questionIndex ]"
type="radio"
>
<label :for=" 'radio-'+ answer.id" class="radio-custom-label"><br><p>{{ answer.answer }}</p></label>
</div>
</div>
<div class="control is-grouped">
<p class="control">
<button class="button is-primary"
v-if="questionIndex != 0"
@click.prevent="back">
Back
</button>
</p>
<p class="control">
<button class="button is-primary"
@click.prevent="next">
Next
</button>
</p>
</div>
</li>
更新:
我删除了Acutal广播按钮上的不透明度,并且可以看到它正在工作,但CSS虽然没有添加选中标记。具体的这些行看起来像:
`.radio-custom:checked + .radio-custom-label:before {
content: "f00c";
font-family: 'FontAwesome';
color: $green;
font-size: 25px;
}
`
完整的CSS
.checkbox-custom, .radio-custom {
opacity: 0;
position: absolute;
}
.checkbox-custom, .checkbox-custom-label, .radio-custom, .radio-custom-label {
display: inline-block;
vertical-align: middle;
margin: 5px;
cursor: pointer;
}
.checkbox-custom-label, .radio-custom-label {
position: relative;
}
.checkbox-custom + .checkbox-custom-label:before, .radio-custom + .radio-custom-label:before {
content: '';
background: #fff;
border: 2px solid #ddd;
display: inline-block;
vertical-align: middle;
width: 40px;
height: 40px;
padding: 2px;
margin-right: 10px;
text-align: center;
}
.checkbox-custom:checked + .checkbox-custom-label:before {
content: "f00c";
font-family: 'FontAwesome';
background: rebeccapurple;
color: #fff;
font-size: 25px;
}
.radio-custom + .radio-custom-label:before {
border-radius: 50%;
}
.radio-custom:checked + .radio-custom-label:before {
content: "f00c";
font-family: 'FontAwesome';
color: $green;
font-size: 25px;
}
.checkbox-custom:focus + .checkbox-custom-label, .radio-custom:focus + .radio-custom-label {
outline: 1px solid #ddd; /* focus style */
}
几个小时的无用后,我发现它缺少fontawsome字体。我在当地有它们,所以这就是为什么它仅在移动设备上。