当关注 iPhone 上的只读输入时事件停止触发

Events stop firing when focused on readonly input on iPhone

我有只读输入字段:

<div class="wrapper">
    <input type="text" readonly="readonly" />
</div>

它附加了 "click" 和 "focus" 事件。除了 iPhone 上的 safari(在 iPhone 5 和 iPhone 6 上测试)外,所有浏览器都运行良好。在输入字段上点击几次后,蓝色文本光标出现并且输入不再接受点击(事件未触发)。

我在类似的问题中读到,你可以在聚焦时在输入上触发模糊事件,但我需要跟踪聚焦元素(我在包装器上使用 focusin 和 focusout 事件)。

此外,我需要在其他浏览器上通过 Tab 键聚焦此字段。

这是我的代码: https://jsfiddle.net/0tr1afv2/

[编辑] 我已经更改了日志消息出现的顺序 - 现在在 jsfiddle 上较新的消息在最上面。屏幕截图以其他方式显示日志。

我最近在使用移动设备时遇到了点击事件的问题。尝试将以下内容添加到您的 javascript:

input.addEventListener("touchstart", function () {c.log("input click");});

这里有关于这个主题的更多信息: https://developer.mozilla.org/en-US/docs/Web/API/Touch_events