当关注 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
我有只读输入字段:
<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