以 jQuery 为中心的文本框在 Safari 中输入一个字符后失去焦点

jQuery-focused textbox loses focus after one character of input in Safari

本文关键字:一个 字符 焦点 失去 输入 为中心 jQuery 文本 Safari      更新时间:2023-09-26

>我有一个文本框,当单击元素时,它会自动聚焦jQuery:

my_item.find('input').focus();

它按预期在 Firefox 和 Chrome 中工作:输入区域是聚焦的,我可以开始输入了。在 Safari 中,行为是不同的。我单击元素,输入聚焦,我开始在框中键入,它只允许我键入一个字符。键入输入的第一个字符后,输入框将失去焦点,除非再次手动单击该输入框以获得焦点,否则无法进一步键入。

我发现有关focus()和Safari工作的问题很奇怪,但我认为这是一个不同的问题。我已经尝试了那里建议的解决方案,例如e.preventdefault() mouseup和类似,但没有效果。

如何在 Safari 中键入时使焦点文本输入区域保持专注?

这个问题有点老了,但我最近遇到了同样的问题,所以这就是我发现的。检查您的 css 规则是否阻止了触摸标注。如果您有任何这样的规则,请尝试删除,然后再次尝试键入

-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;