默认情况下,聚焦后,箭头键会选择一个单选项目。我想重写它们,以便他们专注。
在click事件中添加preventDefault可以在Chrome,FF和Edge中使用,但是在Safari中,当您按箭头键时,它会选择下一个Radio,然后集中后续的所有无线电。
摘要:
var elInputs = document.querySelectorAll('.radio-input');
[].forEach.call(elInputs, function(elInput, i){
elInput.addEventListener('click', function (e) {
e.preventDefault();
});
elInput.addEventListener('change', function (e) {
e.preventDefault();
});
});
.radio-block {margin-right:20px; float:left;}
.output {min-width:400px; min-height:100px;}
<input type="text" placeholder="Focus me" tabindex="0"><br><br>
<form action="/action_page.php">
<input type="radio" name="gender" value="male" class="radio-input"> Male<br>
<input type="radio" name="gender" value="female" class="radio-input"> Female<br>
<input type="radio" name="gender" value="other" class="radio-input"> Other<br>
<input type="submit" value="Submit">
</form>
这是一个错误吗?有什么我可以解决的吗?
我尝试过在change事件中添加一个preventDefault并获得相同的结果。