【发布时间】:2014-07-22 23:21:55
【问题描述】:
在运行 iOS 7.0.6 的 iPhone 5 上在 Google Chrome 版本 36.0.1985.49 中测试以下代码时,即使关注输入元素,它也会始终提醒 BODY,但它应该提醒 INPUT。有没有办法让焦点元素跨浏览器而不跟踪每个焦点和模糊?
HTML:
<input type="text">
JS:
setInterval(function () {
alert(document.activeElement.tagName);
}, 5000);
另外,$(':focus') 只是没有为移动 chrome 提供任何结果,因为它可能会忽略 document.body 是焦点元素时。
Mobile Safari 完全可以正常工作。
不重复:
- how to find activeelement in chrome in jquery or javascript(甚至没有提到移动端 chrome)
- document.activeElement returns body in Chrome and Safari(同样,没有提到移动 chrome,解决方案甚至不起作用)
【问题讨论】:
-
没有 iPhone,但这段代码完全可以在 Android 上运行(仅供参考)。
-
很高兴知道。似乎很奇怪,它不适用于所有浏览器的移动 Chrome,所以我想一定有办法解决它。
-
好吧,iOS 版 Chrome 不允许使用 Safari 的 Nitro 渲染引擎......相反,Chrome 只是使用带有 Chrome UI (developer.chrome.com/multidevice/ios/overview) 的 webkit。因此,iOS 上的 Chrome 并不是真正的 Chrome,它只是看起来像 Chrome。如果没有其他人可以提供答案,我可能会将其作为错误提交给 Google(应该可以通过 iOS Chrome 中的设置菜单)。
-
@Anonymous 您将不得不告诉我们您拥有哪些版本的 iOS 和 Google Chrome,因为我有一部 iPhone 5 在 iOS 7.1.1 和 Chrome 上运行36.0.1985.49 和它works perfectly.
-
@blex 好点,已更新。我猜它是通过 iOS 更新修复的,但我仍然想知道是否有简单的方法解决它。
标签: javascript ios google-chrome