我很难调试这个,但基本上我有一堆复选框,看起来像下面的例子:
<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 */
}
答案 0 :(得分:0)
经过几个小时的不发现后,我发现它缺少FontAwsome字体。我把它们放在本地,这就是为什么它只在移动设备上。