jQuery聚焦文本框在Safari中输入一个字符后失去焦点

时间:2015-01-21 15:29:20

标签: javascript jquery javascript-events safari focus

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

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

它可以在预期的Firefox和Chrome中运行:输入区域是聚焦的,我可以开始输入它。在Safari中,行为是不同的。我点击元素,输入被聚焦,我开始在框中输入,它只允许我键入一个字符。输入第一个输入字符后,输入框失去焦点,进一步输入不起作用,除非再次手动点击以进行焦点。

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

当我在Safari中输入时,如何让我的聚焦文本输入区域保持聚焦?

1 个答案:

答案 0 :(得分:8)

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

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