javascript - 打开/关闭表单字段的自动完成功能

标签 javascript jquery html autocomplete google-places-api

我有一个表单字段,用户在其中输入他们的地址。为了让用户的生活更轻松,我在该字段中添加了 google place API 地址自动完成功能。在您开始使用 native 浏览器自动完成之前,使用这种方法一切都很好。如果用户在他们的网络浏览器上设置了自动完成功能,我显然希望他们能够使用它......通过表单越快越好。然而,当用户位于我的地址字段时, native 自动完成和谷歌地点自动完成最终会相互竞争( native 位于谷歌地点之上)。它看起来很糟糕,而且对于任何想要使用 GP 自动完成功能的人来说也是一种糟糕的用户体验。

我的自然倾向是简单地在地址字段上切换 autocomplete="off"(使用 focusblur):

 $search_address
   //don't allow autocomplete when users are in this field as it messes with GP input
   .on('focus', function(e){
    $(this).attr('autocomplete', 'off'); console.log('autocomplete off');
   })

   //if the user is not in the field, allow autocomplete, or it messes with native AutoFill
   .on('blur', function(e){
    $(this).removeAttr('autocomplete'); console.log('autocomplete on');
   });

我可以从控制台日志中看出这些正在触发,但是 native 浏览器自动完成功能并未被删除。我不知道如何处理这种情况。有人想出一种方法来做到这一点或者可能知道为什么这不起作用吗?

最佳答案

不确定这是否重要,但您可能想尝试使用 prop 而不是 attr:

$(this).prop("自动完成","关闭");

我这样做了,它在 Chrome 中对我有用。

关于javascript - 打开/关闭表单字段的自动完成功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33681864/

相关文章:

javascript - chrome浏览器如何调用父窗口函数?

html - 隐藏 mvc 4 中特定页面的垂直滚动条

javascript - 带有 Google Chrome Frame 窗口的 IE9.Open issue

javascript - 我可以找到与此设计类似的日期选择器库吗?

javascript - 删除 Google map 圆形/形状

javascript - 在悬停时更改整个 <li> 颜色,而不仅仅是 href

html - 如何改变线的删除线高度

javascript - 标签输入未显示

javascript - 在 Chrome 中使用 javascript 启动 doc 文件

javascript - Angular Directive(指令)不适用于选择