我有一个简单的输入,Google Chrome 自动完成功能会启动。
当我用 → 接受建议,然后立即点击一个按钮(没有点击 Enter 或 Tab),然后访问 DOM 元素的 value
仅返回我手动输入的字符,而不是该字段的全部内容。 jQuery 也是如此,即调用 $(input).val()
。
这是一个minimal example证明了这种行为。我在这里使用 type="email"
输入而不是 type="text"
来确保浏览器启用自动完成,但它的行为完全相同。
当您在建议添加到您的输入(突出显示)后单击该字段而不是使用 → 时,也会发生同样的情况。
类似的问题出现在 Safari 7 上,虽然检索值没有问题,但在我描述的第二种情况(添加建议后单击字段)中没有发出任何事件。
除了禁用自动完成功能(我做了)之外,是否有人知道如何规避此问题?
更新:我打开了bug with Chromium .到现在还没有回复。
最佳答案
原来是一个bug在 Chrome 中,从版本 43.0.2357.65 开始更正(尽管它仍然存在于 43.0.2357.45 中)。
截至 2017 年 6 月的更新:此问题已在 Chrome 43 中修复,两年后不再存在。
关于javascript - 如何在 Chrome 自动完成时获取输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24203319/