【问题标题】:Chrome ignores autocomplete="off" for select2Chrome 忽略 select2 的 autocomplete="off"
【发布时间】:2019-06-27 16:55:27
【问题描述】:

尝试了几种禁用自动完成的方法,Chrome 在使用 jQuery Select2 输入时仍然会忽略它。

我尝试在实际输入之前插入另一个输入字段(并使用 display: none)以试图欺骗 Chrome,这似乎也不起作用。

这是输入现在的样子:

<input type="text" autocomplete="off" autocorrect="off" 
autocapitalize="off" spellcheck="false" class="select2-input select2-default" id="s2id_autogen2" placeholder="" style="width: 283px;" aria-activedescendant="select2-result-label-3">

点击该字段时,Chrome 至少有一半时间会尝试使用我保存在 Chrome 中的电话号码自动完成该字段。任何想法如何禁用它?它还抑制了 Select2 的使用,因为它覆盖了它的选项。

【问题讨论】:

  • 现在大多数浏览器都会忽略autocomplete=off。
  • 你有办法解决吗?

标签: jquery google-chrome autocomplete jquery-select2


【解决方案1】:

很简单,试试吧

<script type="text/javascript" charset="UTF-8">
$(document).ready(function(){
    $( document ).on( 'focus', ':input', function(){
        $( this ).attr( 'autocomplete', 'new-password' );
    }); 
    $( "input.select2-input" ).attr( 'autocomplete', 'new-password' );

});
</script>

【讨论】:

    【解决方案2】:

    只需将您的输入包装在 &lt;form autocomplete="off"&gt;

    <form autocomplete="off">
        <input type="text" ...>
    </form>
    

    【讨论】:

      【解决方案3】:

      Chrome 会忽略 style="display: none"; 或 style="visibility: hidden"; 属性

      尝试类似:

           <input type="password" style="opacity: 0;position: absolute;">
           <input style="opacity: 0;position: absolute;">
      

      Chrome 自动完成 &lt;input type="password"&gt; 和 &lt;input&gt;。

      <input style="display:none">
      <input type="password" style="display:none">
      

      【讨论】:

        猜你喜欢
        • 2021-07-26
        • 2013-08-15
        • 2015-05-21
        • 1970-01-01
        • 2019-04-11
        • 2018-06-17
        • 2014-05-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多