当input
在移动浏览器中关注文本时(在 iOS Safari 和 Chrome 上测试),文本插入符号出现在任何div
放置在顶部的 s 的顶部。
这是一个快速、简单的示例:http: //jsfiddle.net/XQf8N/
下面是效果截图:
解决此问题的最佳方法是什么?
我在这里尝试了答案:JQuery Mobile:聚焦输入文本不尊重 z-index,出现在其他所有内容之上,但它不起作用。
更新在进行了更多挖掘之后,我也尝试$("input").blur();
在切换菜单时进行操作,div
但这似乎也不适用于移动设备,但它确实消除了对桌面的关注。
更新 2可能与此有关:iPad Safari 不会触发模糊事件,尽管如果我在 setTimeout 中模糊文本框,而不是在事件侦听器中,文本框会成功模糊。看到这个小提琴:http: //jsfiddle.net/XQf8N/17/
更新 3尝试将输入传递给隐藏的文本框似乎也不起作用http://jsfiddle.net/XQf8N/23/
更新 4意识到我没有按照建议隐藏光标 - http://jsfiddle.net/XQf8N/24/ - 这只是在将鼠标指针悬停在文本框上时隐藏了鼠标指针,对插入符号没有任何作用
更新 5建议禁用文本框,这不会失去焦点,也不会关闭键盘http://jsfiddle.net/XQf8N/27/
更新 6此解决方案:https ://stackoverflow.com/a/7761438/1061602在事件侦听器中不起作用,请参阅小提琴:http: //jsfiddle.net/XQf8N/29/
更新 7此解决方案:https ://stackoverflow.com/a/6473076/1061602也不起作用,与禁用文本框的结果相同
更新 8在使用敲除工程绑定的函数中模糊文本框:http: //jsfiddle.net/XQf8N/33/
任何想法原始事件侦听器有什么问题?希望此故障排除对遇到相同问题的人有所帮助。