Safari无法识别文件输入类型上的focusin事件。我可以监听单击或值更改事件,但是我需要它在仅键盘交互作用下触发,有人在表单中进行切换。
除了Safari和Chrome,我没有在其他浏览器中进行过测试。这是一个已知的错误吗?通常,我已经看到许多有关Safari输入事件的问题。
const form = document.getElementById("form");
form.addEventListener("focusin", event => {
$("h2").toggleClass("red");
});
input {
padding: 10px;
border: 3px solid salmon;
width: 200px;
margin: 5px;
}
.red {
color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" id="form">
<input type="file"><br>
<input type="text" placeholder="..this is a text field">
<h2 class="msg">
I toggle between red and black when you focusin...<br>
> CHROME: the text input AND the file input<br>
> SAFARI: only the text input<br>
</h2>
</form>
不确定焦点对准效果是否相同。