我想为我的md-autocomplete禁用浏览器(Chrome)的自动填充功能 我还阅读了#2699但由于我的md-autocomplete中没有输入标记,我不知道在哪里应用type =“search”
有人已经实现了这个目标吗?
<div class="autocomplete" flex>
<md-icon class="icon" md-svg-icon="user"></md-icon>
<md-autocomplete
md-no-cache="ctrl.noCache"
md-selected-item="ctrl.selectedUserItem"
md-search-text-change="ctrl.searchUserTextChange(ctrl.searchText)"
md-search-text="ctrl.searchUserText"
md-selected-item-change="ctrl.selectedUserItemChange(useritem)"
md-items="useritem in ctrl.querySearchUsers(ctrl.searchUserText)"
md-item-text="useritem.Name"
md-min-length="0"
md-menu-class="autocomplete-custom-template"
md-floating-label="Username">
<md-item-template>
<span> {{useritem.Title}} </span>
<span> <strong> {{useritem.Name}}</strong>, </span>
</md-item-template>
</md-autocomplete>
</div>
答案 0 :(得分:1)
查看1.1.4
的来源,自动填充功能肯定设置为“关闭”,类型设置为“搜索”:
return '\
<md-input-container ng-if="floatingLabel">\
<label>{{floatingLabel}}</label>\
<input type="search"\
' + (tabindex != null ? 'tabindex="' + tabindex + '"' : '') + '\
id="{{ inputId || \'fl-input-\' + $mdAutocompleteCtrl.id }}"\
name="{{inputName}}"\
autocomplete="off"\
...
如果它仍然是自动填充的,那么您是否有一个忽略该设置的扩展程序或附加组件?
另外,请确保它不是缓存问题。在Chrome中,打开开发工具(F12),单击“网络”选项卡,然后选中“禁用缓存”(仅在开放工具打开时适用),然后刷新页面。
如果您正在捆绑/缩小,请确保已重新编译/提醒,并且该页面实际上正在使用正确的脚本。
答案 1 :(得分:0)
如果您使用的是angularjs,则可以在控制器页面中使用以下代码。 默认情况下,md-autocomplete将具有称为auto complete的属性,该属性设置autcomplete ==“ off”。因此,请使用以下代码覆盖。但是有一件事,如果您在同一模板中有两个md-autocomplete,它将无法正常工作。
$('input').attr("autocomplete","none");
答案 2 :(得分:0)
当我们将包裹在'no'
内的输入元素的自动完成设置为<md-autocomplete>
时,它将起作用。
<md-autocomplete
md-input-type = "search"
md-input-name="country"
onmouseover="this.children[0].children[0].children[1].autocomplete='no'"
>
</md-autocomplete>
这不是一种优雅的方法,但它确实起作用。
答案 3 :(得分:0)
它对我有用:
<md-autocomplete
...
onfocus="this.querySelector('input').autocomplete='no'"
>