javascript - 如何在 Chrome 自动完成时获取输入值

标签 javascript jquery html google-chrome

我有一个简单的输入,Google Chrome 自动完成功能会启动。

当我用 接受建议,然后立即点击一个按钮(没有点击 EnterTab),然后访问 DOM 元素的 value 仅返回我手动输入的字符,而不是该字段的全部内容。 jQuery 也是如此,即调用 $(input).val()

这是一个minimal example证明了这种行为。我在这里使用 type="email" 输入而不是 type="text" 来确保浏览器启用自动完成,但它的行为完全相同。

illustration of how I use autocompletion

当您在建议添加到您的输入(突出显示)后单击该字段而不是使用 时,也会发生同样的情况。

类似的问题出现在 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/

相关文章:

javascript - 围绕其中心点

javascript - 将控件绑定(bind)到多个输入的 Angular Reactive Forms 不会刷新其他输入

javascript - 如何返回元素 ID 而不是 [object HTMLDivElement] (Prototype.js)

html - 我可以停止 ReSharper 反对 Ionic HTML 标签吗?

Javascript if else 条件无法正常工作

jquery - 如何在背景叠加层上添加 jQuery 动画

javascript - 要素绘制完成后如何触发功能?

javascript - 如何在 slider 操作事件之前获取 slider 的值?

jquery - GitHub 如何在不重新加载页面的情况下更改 URL?

javascript - 如何定位超出其各自功能范围的 "this"?