![](/img/trans.png)
[英]How to detect when user first starts typing text into password field, without being triggered by browser autofills/autocompletes
[英]Call a function if browser autofills an input field
我正在尝试调用一个函数,该函数检测浏览器是否已自动填充字段,如果是,则向其中添加一个类。
我发现了一个带有部分解决方案的线程: https : //stackoverflow.com/a/25393087
这是我的整合:
$.fn.allchange = function (callback) {
var me = this;
var last = "";
var infunc = function () {
var text = $(me).val();
if (text != last) {
last = text;
callback();
}
setTimeout(infunc, 10);
}
setTimeout(infunc, 10);
};
$(".input").allchange(function () {
$('.input').addClass('not--empty');
});
我遇到的问题是我还有一个函数可以检查模糊时输入的变化,并向该输入添加一个类。 但是,以上函数导致将其添加到“ .input”的所有实例中。
我认为解决方案是仅在自动填充的元素上调用该函数,但是当我在下面运行该函数时,它不起作用:
$(".input").allchange(function () {
$(this).addClass('not--empty');
});
任何想法如何使它工作?
编辑:以为我会添加一个图像来澄清我指的是:
因此,这实际上是一个非常简单的解决方案-可能不适用于所有浏览器,但对于最新的Chrome / Firefox / Safari而言,它可以完美地工作,对于该应用程序来说,这是很好的选择。
setTimeout(function() {
$('.input:-webkit-autofill').each(function() {
var elem = $(this);
$(elem).addClass('not--empty');
})
},100);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.