HTML收音机-在Safari中覆盖箭头键

时间:2018-10-18 08:54:16

标签: javascript html safari

默认情况下,聚焦后,箭头键会选择一个单选项目。我想重写它们,以便他们专注。

在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并获得相同的结果。

0 个答案:

没有答案