2017-05-03 143 views
0

我使用jQuery ui自动完成插件(https://jqueryui.com/autocomplete/)。jQuery vs Safari自动完成

在Safari上我得到两个自动完成列表:

  • 一个来自jQuery的(预期中,一个波纹管与1项)
  • 一个从浏览器(不需要时,一个在顶部有4个项目)

screenshot

我试着使用<input type="text" autocomplete="off">但Safari浏览器自动完成仍然出现。

我该怎么做才能让它消失?

谢谢!

回答

1

很遗憾,所有主流浏览器都停止遵守autocomplete =“off”属性。

根据MDN根据浏览器版本的不同,您可能会有一些运气将自动填充设置设置为无效值,但此解决方案可能会被击中或漏掉。

在某些情况下,即使autocomplete属性设置为off,浏览器也会不断提示自动填充值。对于开发人员来说,这种意外的行为可能会令人费解诀窍真正迫使无自动完成是一个随机字符串分配给属性,例如:

autocomplete="nope" 

,一些用户似乎与成功的另一个解决方法如下。发表评论,让我知道这是否适合你。

//覆盖的Safari,Chrome和IE11决定忽略自动完成:关 //在表格想跳过自动完成,更改所有密码字段中键入=私人 //需要的jQuery

$(function() { 
    $('input[type="private"]').focus(function(e){ 
    $(this).prop('type', 'password'); 
    }); 
    $('input[type="private"]').parents('form').submit(function(){ 
    $(this).find('input[type="password"]').hide().prop('type', 'private'); 
    }); 
});